Preheat and Prepare Pans: Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans or line them with parchment paper to ensure the cake releases easily.
Mix Wet Ingredients: In a large mixing bowl, beat together the softened butter, vegetable oil, and granulated sugar until light and fluffy. Add the eggs, one at a time, mixing well after each addition. Stir in the vanilla extract.
Combine Dry Ingredients: In a separate bowl, whisk together the flour, baking powder, and salt.
Alternate Mixing Dry and Buttermilk: Gradually add the dry ingredients to the wet mixture, alternating with the buttermilk. Begin and end with the dry ingredients, mixing just until combined. Avoid over-mixing to keep the cake tender.
Bake the Cakes: Divide the batter evenly between the prepared cake pans. Bake in the preheated oven for 25–30 minutes, or until a toothpick inserted into the center comes out clean. Let the cakes cool in the pans for 10 minutes, then transfer them to a wire rack to cool completely.
Prepare the Chocolate Frosting: While the cakes cool, make the frosting. In a bowl, beat the softened butter until creamy. Gradually add powdered sugar and cocoa powder, beating until well combined. Stir in vanilla extract and add heavy cream, a tablespoon at a time, until the frosting reaches your desired consistency.
Assemble and Frost the Cake: Once the cakes are completely cool, spread a layer of frosting over the top of one cake layer. Place the second layer on top and cover the entire cake with the remaining frosting.