Preheat oven to 350°F. Line a 9x9” pan with foil or parchment and spray with nonstick cooking spray.
Place baking chocolates and butter in a large microwave safe bowl. Heat in 30 second increments, stirring between each, until melted and smooth (about 2 minutes depending on your microwave).
Stir sugar into chocolate mixture, then stir in eggs until well mixed. Add the vanilla, cocoa, and salt and stir until smooth, then carefully stir in the flour.
Pour batter into the prepared pan. Bake for about 28-35 minutes until a toothpick comes out with just a few crumbs an inch from the side of the pan.
While the brownies are baking, make the caramel: Add sugar to a small saucepan and heat over medium heat. Stir often, being careful not to get the sugar up the sides of the pan (this can cause crystals in your caramel). The sugar will melt and turn into clumps, then melt into a smooth amber liquid.
Once the mixture is melted, leave the heat on medium low, add the butter and stir until melted then stir in the cream. If the mixture solidifies as you add the cream it's ok just reduce the heat to low and stir constantly and quickly until the clump dissolves. Remove from heat and stir in vanilla and pinch of salt. Transfer to a jar to cool while brownies finish cooking.
Once brownies are done, let them sit 5 minutes then pour ¼ cup of the caramel sauce over the top of the brownies, spreading to the sides with a spatula. Let cool completely before slicing (you can refrigerate them to harden the caramel). Reserve remaining caramel to drizzle over brownies before serving.
Store leftover caramel in the refrigerator in an airtight container. Reheat to thin. Store brownies tightly covered for up to 3 days or freeze for up to a month.