Preheat the oven to 350°F (175°C). Grease and flour two 8-inch round cake pans.
In the bowl of a stand mixer, combine the flour, brown sugar, granulated sugar, baking powder, and salt.
Add the butter, 1 tablespoon at a time, mixing on low speed until the mixture resembles coarse crumbs.
Mix in the vegetable oil until evenly incorporated.
Add the milk, eggs, and vanilla extract. Mix just until combined.
Scrape down the bowl, then beat on high speed for 30 seconds until the batter is smooth.
Divide the batter evenly between the prepared pans.
Bake for 30–35 minutes, or until a toothpick inserted in the center comes out clean.
Cool the cakes in the pans for 15 minutes. Remove from the pans and transfer to a wire rack to cool completely.
Make the frosting:
Combine the brown sugar, butter, salt, milk, and half-and-half in a medium saucepan over medium heat. Stir until the butter melts, the sugar dissolves, and the mixture comes to a boil.
Boil for 5 minutes, stirring constantly.
Remove from the heat and transfer the mixture to a large heatproof bowl or the bowl of a stand mixer. Let cool for 5–10 minutes.
Add the powdered sugar and vanilla extract. Mix until combined, then beat on high speed until smooth. Let the frosting stand for about 10 minutes, or until thick enough to spread.
Place one cake layer on a serving plate and spread frosting over the top. Add the second cake layer and frost the top and sides.
Slice and serve.
Notes
Half-and-half is recommended for the caramel frosting. Substituting whole milk will produce a thinner frosting.
Let the cake layers cool completely before frosting to prevent the caramel frosting from softening.
If the frosting becomes too soft while decorating, let it rest for a few more minutes until it reaches a spreadable consistency.
Store the frosted cake covered at room temperature for up to 2 days or refrigerate for up to 5 days.
Bring to room temperature before serving for the best texture and flavor.