Preheat oven to 350°F; grease and line two 9 inch pans.
Whisk flour, baking powder, baking soda, and salt.
Beat butter and oil until smooth and slightly fluffy.
Add both sugars; beat until light and fluffy.
Mix in eggs one by one, then add vanilla.
Alternate dry mix and buttermilk; mix gently.
Divide batter; bake 22–28 minutes until done.
Cool 10 minutes, then transfer to rack to cool fully.
Heat butter, sugars, salt, milk, and cream until smooth.
Add powdered sugar and vanilla; mix until spreadable.
Layer cakes and spread frosting evenly.