Line a small pan or plate with a sheet of parchment paper and butter or spray with cooking spray, then set aside.
Melt the sugar by placing it in a medium, dry sauce pan over medium heat. Try not to stir the sugar as it melts to avoid forming large chunks of crystalized sugar.
After about 5 minutes, the sugar should be mostly melted. Give a good stir to break up any large pieces.
Once the sugar has totally melted, it should be copper in color, and if not, continue cooking until it is.
Lower the heat and stir in the butter first, then the heavy cream. Be careful - it will bubble rapidly. Stir continuously until the butter and heavy cream are fully incorporated.
Turn the heat back up to medium and cook for about 2-3 minutes more or until it reaches 240℉ on a candy thermometer, or use the water test to determine the right texture.
Immediately remove the caramel from the stove and pour onto the parchment lined pan, then transfer to the freezer until solidified, about 30 minutes.
Preheat the oven to 350℉, then line an 8×8-inch square baking pan (or 9x13 inch pan if doubling) with parchment, then rub with softened butter or spray it with cooking spray.
Fill a medium saucepan with about 1-2 inches of water and set it on the stove over high heat. When the water starts to boil, lower the heat to a simmer and place a medium heatproof bowl over top.
Add the butter to the bowl and allow it to melt.
Once melted, add in the chocolate and give it a quick stir. Turn the heat off and let it sit for 2-3 minutes, then stir until it's totally smooth.
Remove the bowl from the pot of water and add the sugar and whisk until incorporated.
Whisk in the eggs one at a time, being sure to fully incorporate the first before adding the second.
Stir in the vanilla and salt.
Add the flour and use a rubber spatula or wooden spoon to mix until fully incorporated.
When the caramel is firm, remove it from the freezer and chop or break it into pieces about 1 inch in size.
Fold ⅔ of the caramel bits into the batter.
Pour the batter into the prepared pan and spread out until even.
Arrange the remaining caramel bits evenly on top, then sprinkle all over with flaky sea salt.
Bake for about 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Allow the brownies to cool for at least 30 minutes before cutting and serve warm, or chill in the refrigerator for several hours and serve cold.
