Heat the sugar in a large pan on medium heat, stirring constantly with a wooden spoon until the sugar forms clumps and eventually turns into a thick brown-colored liquid.
Once the sugar is completely melted, add the butter (I cut the butter into smaller chunks so that it's evenly melted in the pan). WARNING: The caramel liquid will start really bubbling at this point. This is why I prefer a larger pan because it helps prevent splatter.
Stir for about 3 minutes or until the butter is completely melted and mixed in well with the caramel.
Once the butter is melted, slowly drizzle in the heavy cream while stirring. Watch for splatters again!
Allow the mixture to boil for a minute or two. You should see it rising in the pan at this point.
Remove from the heat, and stir in 1 tsp of salt if you wish. Maybe more if you're using unsalted butter.
Allow it to cool in the pan for at least 10 minutes before using.
Store any leftovers in a tightly covered container in the refrigerator for up to 2 weeks. It is also ok at room temperature for up to 2 days.
Notes
The cooler the caramel gets, the thicker it becomes. I like it thick and cool as a dip for apples and such, but it definitely needs to be heated up before drizzling on ice cream or pie.
Do not use regular milk. I've heard that condensed milk or half & half works well in place of the heavy cream, but I've never tried it.