Moist Double Chocolate Cake with Fudgy Frosting
This double chocolate cake is the one I reach for when a birthday or a random Tuesday calls for something deeply chocolatey. Cocoa and melted chocolate in the batter make every forkful taste like a brownie in cake form, with a silky, not-too-sweet frosting that sets just enough to slice cleanly.

It comes together in one bowl with no mixer if you’re up for whisking by hand, and it stays tender for days thanks to buttermilk and oil.
What Makes This Double Chocolate Cake So Good
The crumb is tight but never dry, because oil keeps it moist and buttermilk brings a subtle tang that balances all the chocolate. A little espresso powder deepens the cocoa without making it taste like coffee.
I frost the cake while it is still slightly warm so the chocolate frosting melts into the top layer just a little, giving you a glossy, fudgy finish that looks as good as it tastes.
Ingredients

For the cake
- 1 3/4 cups all-purpose flour: spooned and leveled, not scooped
- 3/4 cup unsweetened Dutch-process cocoa powder: natural cocoa works, the cake will be a bit lighter
- 1 1/2 cups granulated sugar
- 1/2 cup packed light brown sugar: adds moisture and a hint of caramel
- 2 tsp baking powder
- 1 tsp baking soda
- 1 tsp fine sea salt
- 2 large eggs, at room temperature: cold eggs can make the batter seize
- 1 cup buttermilk, at room temperature: no substitutions here, the acid tenderizes the crumb
- 1/2 cup vegetable oil: any neutral oil works
- 2 tsp vanilla extract
- 1 cup hot strong coffee: use decaf or hot water if you prefer
For the frosting
- 1 cup unsalted butter, softened to cool room temperature
- 3 1/2 cups powdered sugar: sifted if lumpy
- 1/2 cup unsweetened Dutch-process cocoa powder
- 1/3 cup whole milk: plus more if needed
- 2 tsp vanilla extract
- Pinch of fine sea salt
- 4 oz bittersweet chocolate, melted and cooled slightly: 60 to 70% cacao gives the best fudgy depth
Variations / Substitutions
- No buttermilk : stir 1 tablespoon of lemon juice or white vinegar into 1 cup whole milk and let it sit 5 minutes.
- No coffee : replace with hot water, the cake will still be chocolatey but a bit less intense.
- Gluten-free : swap the flour for a 1:1 gluten-free baking blend that contains xanthan gum.
- Dairy-free : use unsweetened oat milk with a teaspoon of vinegar for buttermilk, vegan butter sticks for the frosting, and coconut oil for the cake.
For a simpler single-layer version, try my Chocolate Snack Cake.
How to Make Double Chocolate Cake
Step 1: Mix the Dry Ingredients

Preheat the oven to 350°F (175°C) and grease two 8-inch round cake pans. Line the bottoms with parchment paper, then dust the sides with cocoa powder to prevent sticking. In a large bowl, whisk together the 1 3/4 cups flour, 3/4 cup cocoa powder, both sugars, baking powder, baking soda, and salt until no lumps remain.
The mix should look uniform and smell faintly of chocolate. Raking through it with your fingers is a good way to catch any stubborn cocoa clumps early.
Step 2: Whisk the Wet Ingredients

In a separate medium bowl, whisk the 2 eggs, 1 cup buttermilk, 1/2 cup oil, and 2 teaspoons vanilla until smooth. You are not looking for foam here, just a thick, glossy mixture with no streaks of egg white.
The oil and buttermilk will emulsify into a creamy, pale brown liquid. If your eggs were cold, the mixture might look slightly curdled, but it will come together once mixed with the dry ingredients.
Step 3: Combine the Wet and Dry, Then Stream In the Coffee

Pour the wet ingredients into the bowl of dry ingredients and whisk gently just until no flour pockets remain. A few small lumps are fine, overmixing will toughen the cake. Then slowly pour the hot coffee down the side of the bowl while whisking. The batter will be thin, almost like pancake batter, and that is exactly what you want.
At this point the chocolate scent really blooms. The hot coffee activates the cocoa and melts any tiny butter solids if you used butter, giving the baked cake a smooth, intense taste.
Step 4: Bake the Layers

Divide the batter evenly between the prepared pans. Tap each pan firmly on the counter twice to release air bubbles. Bake for 30 to 35 minutes, rotating the pans halfway through. The cakes are done when a toothpick inserted in the center comes out with a few moist crumbs, not wet batter.
The edges will have pulled away from the pan slightly and the tops will spring back when pressed. Let the layers cool in the pans for 10 minutes, then turn them out onto a rack to cool completely before frosting.
Step 5: Frost and Slice the Cake

Beat the softened butter with a hand mixer until creamy, about 2 minutes. Sift in the powdered sugar and cocoa powder, then add the milk, vanilla, and salt. Beat on low to combine, then on medium for 3 minutes until fluffy. With the mixer running, slowly pour in the melted chocolate and beat just until it streaks through, then stop. Spread a thick layer of frosting between the cooled cake layers, stacking them, then swirl the rest over the top and sides.
A warm knife makes clean slices, and the fudgy frosting will ooze just a little where the cut meets the plate. Serve at room temperature with a glass of cold milk.
A Few Tips for a Tall, Moist Cake
- Bring the eggs and buttermilk to room temperature for the smoothest batter. A quick cheat: place cold eggs in a bowl of warm water for 5 minutes.
- If your layers dome, press them down gently with a flat spatula while they are still warm to even the surface.
- For the glossiest frosting, use chocolate you would enjoy eating on its own. Cheap chips can taste waxy and seize up.
- Chill the frosted cake for 30 minutes before slicing to get those clean bakery-style cuts.
Bake times by pan:
| Pan size | Approximate bake time |
|---|---|
| Two 8-inch rounds | 30–35 minutes |
| Two 9-inch rounds | 25–30 minutes |
| 9×13-inch sheet pan | 35–40 minutes |
| 12-cup bundt pan | 40–45 minutes |
Storing and Freezing
Cover the frosted cake tightly and keep it at room temperature for up to 3 days. In warm weather, refrigerate it for up to 5 days, but bring slices to room temperature before serving for the fudgiest texture.
The unfrosted cake layers freeze beautifully. Wrap them in plastic and then foil, and freeze for up to 3 months. Thaw at room temperature before frosting.
Frequently Asked Questions
Can I use natural cocoa powder instead of Dutch-process?
Yes, the cake will be slightly lighter in color and less deeply chocolatey, but it still tastes great. The baking soda already provides enough lift for natural cocoa.
Why did my cake sink in the middle?
A sunken center usually means the oven temperature was too low or the cake was underbaked. Check your oven with a thermometer and use the toothpick test before pulling it.
Is the espresso powder really necessary?
No, you can leave it out or use hot water instead of coffee. The espresso simply amplifies the chocolate flavor without adding any coffee taste.
Can I add chocolate chips to the batter?
Absolutely. Toss 1 cup of mini chocolate chips in a little flour, then fold them in right before pouring the batter into the pans. They will stay suspended and melt into pockets.

Double Chocolate Cake Recipe
Ingredients
Method
- Preheat oven to 350°F (175°C). Grease two 8-inch round pans, line with parchment, and dust with cocoa.
- Whisk flour, cocoa, both sugars, baking powder, baking soda, and salt in a large bowl.
- In another bowl, whisk eggs, buttermilk, oil, and vanilla until smooth.
- Pour wet into dry, whisk gently until combined, then stream in hot coffee, whisking until the batter is thin.
- Divide batter between pans, tap to remove bubbles, and bake 30 to 35 minutes until a toothpick comes out with moist crumbs.
- Cool in pans 10 minutes, then turn out onto a rack to cool completely.
- Beat butter until creamy, sift in powdered sugar and cocoa, add milk, vanilla, and salt. Beat 3 minutes, then stir in melted chocolate.
- Frost between layers, stack, and swirl the rest on top and sides. Slice and serve.
