Preheat oven to 350 degrees F, verifying with an oven thermometer if available. Grease and flour three cake pans and line the bottoms with parchment rounds.
Whisk the cake flour, baking powder, and salt in a medium bowl.
In a stand mixer, beat the butter, oil, and sugar on medium speed until noticeably lighter and fluffy, about 3 minutes, relying on how it looks rather than the clock.
Add eggs one at a time, mixing until just combined after each.
Mix in the vanilla extract.
With the mixer on low, add the flour mixture in three additions, alternating with the buttermilk in two additions, starting and ending with flour.
Divide the batter among the three pans and bake for 24 to 28 minutes, checking a few minutes early, until a toothpick comes out clean.
Cool in the pans for 10 minutes, then transfer to a wire rack to cool completely before frosting.
Beat the butter until creamy, add powdered sugar gradually, alternating with the heavy cream, then mix in vanilla and salt until fluffy.
Frost between each layer, apply a thin crumb coat, refrigerate for 20 minutes, then apply the final coat of frosting.
Slice and serve, or refrigerate until ready to serve.