Preheat the oven to 350° F. Line the bottom of three 8-inch round cake pans and spray with nonstick spray. Set aside.
In a large bowl, whisk together all dry ingredients and set aside. In a large measuring cup, whisk together milk, cream, and vanilla extract and set aside.
In the bowl of a stand mixer, cream butter and sugar together until light and fluffy, about 3-5 minutes, scraping the bowl down a few times in between. Add the eggs, one at a time, beating until well incorporated and light.
Begin adding flour mixture and milk mixture in alternating additions, beginning and ending with flour mixture.
Let the batter sit for 15-20 minutes. Before pouring into pans, give it a brief stir and scrape of the sides. Pour into prepared pans and bake until a toothpick inserted into the center comes out clean, about 50-55 minutes.
Cool the cakes in the pans for about 10 minutes before removing and placing on wire rack to cool completely.
Make the Caramel:
In a large heavy-bottomed saucepan (you'll need at least a 4-quart) add the heavy cream, brown sugar, corn syrup, and salt. Stir over medium low heat with a heatproof spatula or wooden spoon until the sugar has dissolved and the mixture begins to boil.
Clip on a candy thermometer (see inside post for how to make without a thermometer) and allow the caramel to boil, stirring constantly, until it reaches 234° F. Immediately remove it from the heat and add the vanilla carefully (it will sputter and bubble significantly when you do this).
Allow the caramel to cool until it thickens slightly, enough to be able to spread it, about 5-10 minutes.
Spread about ½ cup between each layer and then pour the rest of it on top of the assembled cake and allow it to drip down the sides. You can smooth the sides or leave it rustic.
Cake will keep at room temperature, well covered, for 2-3 days.