Boil almonds in sugar and water.
Begin by heating sugar and water in a medium pan over medium heat. Once the sugar melts and begins to bubble, add the almonds and reduce the heat so that it continues to bubble gently.
Cook until sugar crystalizes.
Continue letting the mixture boil gently for 20-30 minutes, stirring occasionally, until the water evaporates and the sugar crystalizes.
Roast almonds, re-melting the crystalized sugar.
Still over low heat, begin stirring continuously; the sugar will begin to brown, then melt. The sugar will get relatively dark, and the almonds will begin to roast. The almonds should begin to smell roasted once they’re done.
Coat almonds in butter.
Once the almonds have a coating of dark-colored sugar and smell nicely roasted, remove from heat and stir in the butter; it will melt and coat them.
Cool almonds.
Spread the butter-coated almonds out on a cookie sheet or something similar to cool; make sure to separate them so they don’t stick together.
Notes
The tricky part is getting the almonds fully roasted without burning the sugar; if you undercook them, they won’t be crunchy. If you overdo it, they’ll be bitter. The sugar will get quite dark, and the best signal is probably the smell — when it smells like sweet-roasted almonds, they’re probably done.
If you’re making them to snack on straight, it’s fine to leave the almonds whole, but if you’re going to use them as a salad topping, you’ll probably want to cut them in half to get smaller, crunchier chunks.