Line an 8-inch (20 cm) square baking pan with parchment, leaving overhang on two sides for lifting later; set near the stove. Have a heavy-bottomed 3–4 quart saucepan, a heatproof spatula, and a candy thermometer ready.
Combine the heavy cream, unsalted butter, and kosher salt in a small saucepan over low heat. Warm, stirring, until the butter melts and the mixture is steaming; keep warm on the lowest heat.
In the large saucepan, add the granulated sugar, light corn syrup, and water. Stir just until all the sugar is evenly moistened; do not overmix. Use a wet pastry brush to wash any sugar crystals from the sides of the pan.
Cook over medium-high heat until the syrup comes to a vigorous boil. Cover for 2 minutes to let steam dissolve any remaining crystals, then uncover.
Continue cooking without stirring until the syrup is deep amber, 320–325°F (160–163°C), 8–12 minutes. Swirl the pan gently if needed to even the color; the bubbles will look slower and the aroma will be toasty but not burnt.
Remove the pan from the heat. Carefully and slowly stream in the warm cream–butter mixture while stirring constantly; the caramel will foam up vigorously. Stir until smooth.
Return the pan to medium heat. Cook, stirring frequently and scraping the bottom and corners with a heatproof spatula, until the caramel reaches 245–248°F (118–120°C), 8–15 minutes. For softer caramels aim for 245°F; for firmer, 248°F. Doneness cue: the bubbles will be thick and the spatula will leave a brief trail on the bottom.
Remove from the heat and immediately stir in the vanilla extract until combined.
Pour the caramel into the prepared pan in a single, even layer. Do not scrape the pan’s sides or any dark bits. Let cool at room temperature until fully set and no longer warm underneath, 2–3 hours.
Lift the slab out by the parchment. Using a sharp, lightly oiled knife, trim the edges if desired, then cut into 1-inch squares. Wrap each piece in wax paper or cellophane. Store airtight at cool room temperature for up to 2 weeks or refrigerate for longer keeping (allow to come to room temperature before serving).