Step 1: Prepare the Cake Pans
Preheat oven to 350°F (177°C).
Grease and flour three 8-inch round cake pans, then line the bottoms with parchment paper.
Step 2: Mix Dry Ingredients
In a medium bowl, whisk together the flour, baking powder, baking soda, and salt. Set aside.
Step 3: Cream Butter and Sugar
In a large bowl, using a hand or stand mixer, beat the butter and sugar on medium-high speed for 3–4 minutes until light and fluffy.
Step 4: Add Wet Ingredients
Mix in the vegetable oil until smooth.
Add eggs one at a time, mixing well after each addition.
Stir in the vanilla extract and sour cream until combined.
Step 5: Combine Dry and Wet Ingredients
With the mixer on low speed, add the dry ingredients in three parts, alternating with the milk, starting and ending with the dry ingredients.
Mix until just combined (do not overmix).
Step 6: Bake the Cake
Divide the batter evenly into the prepared cake pans.
Bake for 28-32 minutes, or until a toothpick inserted into the center comes out clean or with a few moist crumbs.
Allow cakes to cool in the pans for 15 minutes, then transfer to a wire rack to cool completely.
Step 7: Prepare the Buttercream
Using a stand mixer, beat the butter for 2 minutes until creamy.
Gradually add the powdered sugar, mixing on low speed until incorporated.
Add the vanilla extract and heavy cream (1 tablespoon at a time), then beat on medium-high speed for 5 minutes until light and fluffy.
Step 8: Assemble and Frost the Cake
Level each cake layer by cutting off the domed tops (if necessary).
Place the first cake layer on a cake stand or plate, spread ¼ of the buttercream evenly on top.
Add the second layer, spread another ¼ of the buttercream evenly.
Add the final cake layer and apply a thin crumb coat of frosting to seal in the crumbs. Refrigerate for 30 minutes.
Use the remaining frosting to coat the entire cake. Smooth with an offset spatula or bench scraper.