Preheat the oven to 350°F. Grease two 8-inch round cake pans and line the bottoms with parchment paper.
In a medium bowl, whisk together the flour, baking powder, baking soda and salt. Set aside.
In a large bowl, whisk the buttermilk, sour cream, granulated sugar and brown sugar until smooth. Whisk in the melted butter, oil and vanilla.
Add the dry ingredients to the wet mixture and fold gently just until no dry streaks remain. Divide the batter evenly between the pans and smooth the tops.
Bake for 28-32 minutes, until golden and a toothpick inserted in the center comes out clean. Cool in the pans for 10 minutes, then transfer to a wire rack and cool completely.
For the frosting, melt the butter in a saucepan over medium heat. Stir in the dark brown sugar, heavy cream and salt, bring to a boil while stirring, and boil for 2 minutes, then remove from the heat.
Let the caramel mixture cool for 20-30 minutes, until just warm to the touch. Add the powdered sugar and vanilla and beat on medium for 2-3 minutes until thick, smooth and spreadable.Use the frosting right away, as it sets as it cools. If it gets too thick, beat in 1-2 teaspoons of hot water.
Place one cake layer on a plate, spread with frosting and top with the second layer. Quickly cover the top and sides with the remaining frosting, using the back of a spoon to make soft swirls, and let it set for 30 minutes before slicing.