Preheat oven to 350°F (175°C). Grease and flour two 8-inch round cake pans.
In a large bowl, whisk together the flour, sugars, baking powder, and salt.
With a mixer on low speed, gradually add the butter to the dry ingredients until the mixture resembles coarse crumbs.
Stir in the oil until well combined.
In a separate bowl, whisk together the milk, eggs, and vanilla extract.
With the mixer on low speed, gradually add the wet ingredients to the dry ingredients.
Once combined, scrape down the sides and bottom of the bowl, then increase the speed to high and beat for 30 seconds.
Divide the batter evenly between the prepared cake pans.
Bake for 30-35 minutes, or until a toothpick inserted into the center comes out clean or with a few moist crumbs.
Let the cakes cool in the pans for 15 minutes before inverting them onto wire racks to cool completely.
To make the caramel icing, combine the brown sugar, butter, salt, milk, and heavy cream in a medium saucepan over medium heat.
Stir frequently until the brown sugar is dissolved and the mixture comes to a boil.
Once boiling, cook for 5 minutes, stirring constantly.
Remove from heat and pour into a large heatproof bowl or the bowl of a stand mixer.
Let sit for 5-10 minutes before proceeding.
Add the powdered sugar and vanilla extract and stir with a stand mixer or an electric mixer until combined.
Increase the speed to high and stir until the caramel mixture is almost completely cooled and the icing reaches a spreadable consistency.
Spread the icing over the cooled cake.
Let the icing solidify completely before slicing and serving.