Heat sugar and water. Pour water into a heavy-duty saucepan (see note below about the saucepan). Pour your sugar into the center of the pan. Be careful not to let the sugar crystals touch the side of the pan. Give it a stir and then do not stir it again.
Boil sugar mixture. Cover and bring to a boil over high heat. Once the mixture is boiling, uncover and continue to boil until the syrup is thick and straw colored and your thermometer registers 300°F, about 15 minutes (every stovetop and saucepan is different so this time can vary depending so keep an eye on the temperature first and also watch for the color change - yours may be ready in less time)
Heat to 350°F. Reduce your heat to medium and continue to cook until the sugar is deep amber and registers 350°F degrees, about 5 minutes. (Time can vary as each stovetop is different- so keep an eye on the color. When it gets close to 340°F I keep a very close eye as it can change color and temperature quickly at this point and go from perfect to burnt in seconds!). While the mixture is heating up, I get started on heating my cream.
Heat the cream. Over medium heat, heat the cream until it's steaming but NOT simmering/boiling. You want to add warm cream to the caramel mixture. Once the cream is steaming, I remove it from the stove and set it aside to use in the next step.
Add the warm cream. Remove the sugar syrup from heat IMMEDIATELY. Carefully pour about 1/4 of your cream into your sugar syrup. The mixture will bubble vigorously. Let the bubbling subside, and add in the remaining cream.
Add remaining ingredients. Whisk gently until smooth, then whisk in your butter, vanilla, and salt. The caramel will be thin at this point but will thicken up as it cools.
Store. Let cool until warm and serve. The sauce can be refrigerated for up to two weeks.