Classic Vanilla Layer Cake with Chocolate Frosting
This classic vanilla cake with chocolate frosting is the layer cake for birthdays, celebrations, or any Tuesday that calls for a slice of something good.

Two tender rounds of vanilla bean-flecked cake stacked with a thick layer of dark chocolate buttercream. It’s the kind of cake that makes people ask for the recipe.
What Makes This Cake So Good
The crumb is tight but soft, with a fine vanilla flavor that comes from real butter and a generous amount of extract. Buttermilk and oil keep the cake moist for days, which is why this one often tastes better on day two.
The frosting is a dark chocolate buttercream that strikes a balance between rich and not too sweet. It spreads like a dream and sets up just enough to slice clean.
You won’t find a more reliable layer cake recipe, and the whole thing comes together with basic pantry ingredients and a hand mixer.
Ingredients

- 2 ½ cups (312 g) all-purpose flour: spooned and leveled, not scooped
- 1 tsp baking powder
- ½ tsp baking soda
- 1 tsp fine sea salt
- 1 ½ cups (300 g) granulated sugar
- ½ cup (120 ml) neutral oil: vegetable or canola
- 3 large eggs: at room temperature
- 1 cup (240 ml) buttermilk: at room temperature
- 2 tsp vanilla extract: pure, not imitation
- For the chocolate frosting
- 1 cup (8 oz / 226 g) unsalted butter: softened to cool room temp
- 3 ½ cups (420 g) powdered sugar: sifted if lumpy
- ¾ cup (65 g) unsweetened cocoa powder: regular or Dutch-process
- 4 to 5 tbsp heavy cream: plus a splash more if needed
- 1 ½ tsp vanilla extract
- Pinch of fine sea salt
Variations / Substitutions
- Buttermilk strait: If you don’t have buttermilk, stir 1 tbsp lemon juice or white vinegar into 1 cup whole milk and let it sit 10 minutes.
- Cocoa type: Dutch-process cocoa gives a deep, fudgy color and smoother flavor. Natural cocoa works just as well and has a slightly sharper chocolate bite.
- Flavor the frosting: Add 1 tsp espresso powder for a mocha vibe or a ¼ tsp peppermint extract for a mint-chocolate finish.
- Egg-free option: I haven’t tested it with a flax egg or replacer, but a moist vanilla cake made with applesauce can work. The texture will shift a little.
For an all-chocolate experience, try our Ultimate Chocolate Cake.
How to Make Vanilla Layer Cake with Chocolate Frosting
Step 1: Mix the Cake Batter

Preheat the oven to 350°F (175°C) and grease two 8-inch round cake pans, lining the bottoms with parchment. In a large bowl, whisk together the 2 ½ cups flour, 1 tsp baking powder, ½ tsp baking soda, and 1 tsp salt. In a separate bowl, beat the ½ cup oil, 1 ½ cups sugar, 3 eggs, 1 cup buttermilk, and 2 tsp vanilla until smooth, about 1 minute.
Pour the wet mixture into the dry and stir just until no streaks of flour remain. The batter will be smooth and pale yellow, with a slightly thick pour. Stop mixing the second it comes together; overworking the flour can make the cake tough.
Step 2: Bake the Cake Layers

Divide the batter evenly between the prepared pans. Set them on the middle rack and bake for 28 to 32 minutes. A toothpick poked into the center should come out clean or with a few moist crumbs.
The tops will be golden and the edges will pull away from the sides of the pans just slightly. Let the cakes cool in the pans on a wire rack for 10 minutes, then turn them out onto the rack to cool completely before you frost them.
Step 3: Beat the Chocolate Frosting

In a large bowl, beat the softened 1 cup butter with an electric mixer on medium speed until creamy and pale, about 2 minutes. Sift in the 3 ½ cups powdered sugar and ¾ cup cocoa powder to avoid lumps. Mix on low until combined, then add 4 tbsp of the heavy cream, 1 ½ tsp vanilla, and the pinch of salt.
Increase the speed to medium and beat for 2 minutes more. The frosting will look dry at first but will come together into a glossy, thick spread. If it feels too stiff to swirl easily, beat in another tablespoon of cream.
Step 4: Frost and Assemble the Cake

Place one cooled layer flat-side down on a serving plate or cake stand. Spread about 1 cup of the frosting evenly over the top, going all the way to the edges. Set the second layer on top, flat-side up, and cover the top and sides with the remaining frosting, swirling it as you like.
For clean slices, chill the cake for 15 minutes to let the frosting set. Slice it with a sharp knife and serve; the layers hold beautifully and the frosting is silky smooth.
Tips for a Perfect Layer Cake
- Weigh your flour.: If you don’t have a scale, spoon the flour into your measuring cup and level it off with a knife. Scooping straight from the bag packs in up to 30% extra flour and dries out the crumb.
- Room temperature eggs and buttermilk matter.: They blend more evenly with the oil and sugar, giving you a fluffier batter. Set them on the counter 30 minutes before you start.
- Cool the layers completely.: Even a little warmth melts the butter in the frosting and you’ll end up with a slippery, sliding cake. Wait until the cakes feel room temperature to the touch.
- Level your cakes if needed.: If the tops domed a bit, use a long serrated knife to slice off the rounded peak so the layers stack flat.
- Warm your knife for clean slices.: Run the blade under hot water and wipe it dry between cuts for bakery-style edges.
Bake times by pan size:
| Pan size | Oven temp | Bake time |
|---|---|---|
| Two 8-inch round pans | 350°F (175°C) | 28 to 32 mins |
| Two 9-inch round pans | 350°F (175°C) | 24 to 28 mins |
| One 9×13-inch sheet pan | 350°F (175°C) | 30 to 35 mins |
| Standard cupcakes | 350°F (175°C) | 18 to 22 mins |
Keeping the Cake Fresh
- Refrigerate: Cover the frosted cake loosely and store in the fridge for up to 5 days. The buttercream firms up cold, so let slices sit at room temperature for 20 minutes before you eat them.
- Freeze the layers: Wrap cooled, unfrosted layers tightly in plastic wrap and then foil. Freeze for up to 2 months. Thaw overnight in the fridge, then frost as usual.
Frequently Asked Questions
Can I use cake flour instead of all-purpose?
Yes. Swap in 2 ¾ cups (310 g) cake flour and skip the baking soda. The crumb will be a touch softer and finer.
Why did my cake sink in the middle?
The most common culprit is underbaking. Check the center with a toothpick and add 2 to 3 extra minutes if the pick comes out wet. Opening the oven door too early in the bake can also cause a collapse.
How do I get a perfectly smooth frosting finish?
Apply a thin crumb coat all over the cake, chill for 15 minutes, then spread the remaining frosting. The chilled base holds the final layer in place without crumbs peeking through.
Can I make this cake a day ahead?
Absolutely. Bake the layers, let them cool completely, wrap tightly, and leave them on the counter. Frost the next day for fresh-tasting cake that’s even easier to assemble.

Classic Vanilla Layer Cake with Chocolate Frosting Recipe
Ingredients
Method
- Preheat the oven to 350°F (175°C). Grease two 8-inch round pans and line with parchment. Whisk flour, baking powder, baking soda, and salt in a large bowl. In a separate bowl, beat oil, sugar, eggs, buttermilk, and 2 tsp vanilla until smooth. Add wet to dry and stir just until combined.
- Divide batter between pans. Bake 28 to 32 minutes until a toothpick inserted in the center comes out clean. Cool in pans 10 minutes, then turn out onto a wire rack to cool completely.
- For the frosting, beat the butter until creamy, about 2 minutes. Sift in powdered sugar and cocoa, mix on low, then add 4 tbsp cream, 1 ½ tsp vanilla, and salt. Beat 2 minutes until glossy, adding up to 1 more tbsp cream if needed.
- Place one cake layer on a plate, spread with 1 cup frosting, top with the second layer. Frost the top and sides with the remaining frosting. Chill 15 minutes if you want cleaner slices, then slice and serve.
