Classic German Chocolate Cake with Coconut-Pecan Frosting
German chocolate cake is the one with that gooey coconut-pecan frosting, not just another chocolate layer cake. This from-scratch version gets the balance right: rich, not-too-sweet chocolate layers that hold up to a thick, caramel-like filling.

It’s a weekend project, but the steps are straightforward, and the result is a cake that makes everyone at the table slow down and take notice.
What Makes This One a Standout
The frosting is the real star here. It’s buttery, studded with toasted pecans and sweet coconut, and it somehow feels both rich and light at the same time. I’ve made this cake for birthdays and holidays, and it always gets the same reaction: silence, then requests for the recipe.
The chocolate layers are tender and moist thanks to buttermilk and a hit of hot coffee, which deepens the cocoa flavor without tasting like mocha. The frosting, not too sweet, clings to the layers in thick, ribbon-like swirls. It’s exactly what I want from this classic, every time.
Ingredients

- 2 cups all-purpose flour: spooned and leveled
- 2 cups granulated sugar
- 3/4 cup unsweetened natural cocoa powder: not Dutch-process for this recipe
- 2 teaspoons baking soda
- 1 teaspoon baking powder
- 1 teaspoon fine sea salt
- 1 cup buttermilk, at room temperature
- 1/2 cup vegetable oil
- 2 large eggs, at room temperature
- 2 teaspoons vanilla extract
- 1 cup hot brewed coffee
- For the Frosting:
- 1 cup evaporated milk
- 1 cup granulated sugar
- 3 large egg yolks
- 1/2 cup unsalted butter, cut into pieces
- 1 teaspoon vanilla extract
- 1 1/3 cups sweetened shredded coconut
- 1 cup chopped pecans
Variations / Substitutions
- Use Dutch-process cocoa: It gives a deeper color; cut the baking soda to 1/2 teaspoon and increase baking powder to 2 teaspoons.
- Swap pecans for walnuts: The flavor is milder but still works in the filling.
- Make it a sheet cake: Pour the batter into a 9×13-inch pan and bake about 25 minutes, then top with the filling.
If you love coconut desserts, try my coconut cream pie next.
How to Make German Chocolate Cake
Step 1: Mix the Chocolate Batter

Preheat the oven to 350°F and grease two 9-inch round cake pans, then line the bottoms with parchment. In a large bowl, whisk together the 2 cups flour, 2 cups sugar, 3/4 cup cocoa, 2 teaspoons baking soda, 1 teaspoon baking powder, and 1 teaspoon salt. In a separate bowl, whisk the 1 cup buttermilk, 1/2 cup oil, 2 eggs, and 2 teaspoons vanilla. Pour the wet ingredients into the dry and stir just until combined. Pour in the 1 cup hot coffee and mix slowly until the batter is smooth; it will be thin.
The batter will look thin, like crepe batter, and that is exactly what you want. A thin batter means a moist crumb later. Do not be tempted to add more flour.
If your ingredients are cold, the batter may look slightly curdled, but it comes together in the oven. The hot coffee blooms the cocoa, intensifying the chocolate flavor without adding a mocha taste.
Step 2: Bake the Layers

Divide the batter evenly between the prepared pans. Tap the pans gently on the counter to release any large air bubbles. Bake for 30 to 35 minutes, until a toothpick inserted in the center comes out with a few moist crumbs attached. Cool the cakes in the pans on a wire rack for 10 minutes, then run a knife around the edges and turn them out onto the rack to cool completely.
The tops will spring back when pressed lightly. If the toothpick emerges wet, give it another 2 minutes and test again. Overbaking will dry out the cake, so pay close attention in the last few minutes.
Let the layers cool entirely before you touch them with frosting, or the filling will melt and slide right off. You can wrap them and store them overnight to speed assembly the next day.
Step 3: Toast the Pecans and Coconut

Spread the 1 cup pecans and 1 1/3 cups coconut on a baking sheet and toast in the 350°F oven for 5 to 7 minutes, stirring halfway through, until the coconut turns golden and the pecans smell fragrant. Watch closely; coconut can burn in a flash.
The coconut should be light brown at the edges, and you will catch a toasty, nutty aroma. Let everything cool completely before adding it to the frosting.
Toasting brings out the oils and deepens the flavor, so even if you are short on time, do not skip this step. It is the difference between a bland filling and a complex, almost caramel-like one.
Step 4: Cook the Coconut-Pecan Filling

In a medium saucepan, whisk together the 1 cup evaporated milk, 1 cup sugar, 3 egg yolks, and the cut-up 1/2 cup butter. Cook over medium heat, stirring constantly with a wooden spoon or heatproof spatula, for 8 to 12 minutes. The mixture will bubble gently and thicken until it coats the back of the spoon and turns a blonde caramel color. Remove from heat and stir in 1 teaspoon vanilla, the cooled toasted coconut, and toasted pecans.
When it is ready, the filling will look like a loose pudding; it thickens more as it cools. If it is still runny after 12 minutes, keep stirring for another minute or two, but do not let it scorch on the bottom.
Transfer the filling to a bowl and let it cool to room temperature, about 30 minutes. It should be thick but still spreadable. If it sets up too firm, stir it vigorously to loosen it up.
Step 5: Assemble and Frost the Cake

If the cake layers are domed, use a serrated knife to level them so they sit flat. Place one layer on a serving plate or cake stand. Spread about half of the cooled filling evenly over the top, going all the way to the edge. Place the second layer, bottom side up, and top with the remaining filling, smoothing it out.
The traditional look leaves the sides bare, so do not frost them. The filling will naturally drip down in a few spots, which looks homemade and inviting.
If you want the filling to set up quicker, you can refrigerate the assembled cake for 20 minutes before slicing.
Step 6: Slice and Serve

Slice the cake with a sharp, thin knife, wiping it between cuts for clean pieces. Serve at room temperature so the frosting is luscious and the cake layers are tender. The first slice reveals the contrast of dark chocolate crumb and pale, nutty ribbons of frosting.
A Few Details That Make a Difference
- Use room temperature eggs and buttermilk. Cold ingredients can cause the batter to curdle and bake up dense.
- Let the filling cool to the consistency of thick applesauce before spreading. Warm filling runs; cold filling will not spread smoothly.
- Make the cake layers a day ahead. Cooled, wrapped layers are easier to level and frost, and it takes one task off your list.
- For the neatest slices, pop the assembled cake in the refrigerator for 20 minutes before cutting.
- If your filling sets too firm in the bowl, warm it gently over low heat while stirring to loosen it back up.
Bake times by pan, checking for a few moist crumbs on a toothpick.
| Pan Size | Bake Time (approx.) |
|---|---|
| 9-inch rounds | 30-35 minutes |
| 8-inch rounds | 35-40 minutes |
| 9×13-inch sheet | 25-30 minutes |
| standard cupcakes | 18-22 minutes |
Storing Leftovers
- Refrigerate: Cover leftover cake loosely and keep in the fridge for up to 5 days. Bring slices to room temperature before serving so the frosting softens. The filling can make the cake layers slightly sticky over time, but it will still taste great.
Frequently Asked Questions
Can I use Dutch-process cocoa instead of natural?
Yes, but you will need to adjust the leaveners. Use 1/2 teaspoon baking soda and 2 teaspoons baking powder to keep the cake from turning out dense.
Why didn’t my filling thicken?
It likely did not cook long enough. Keep it over medium heat, stirring constantly, until it visibly coats the spoon and looks like a loose pudding, which can take up to 12 minutes. It will still seem thin while hot but sets as it cools.
Can I freeze German chocolate cake?
Freezing the fully assembled cake is not ideal because the frosting’s texture can become grainy. Instead, freeze the un-frosted cake layers tightly wrapped for up to 2 months, and make the filling fresh.
Can I use sweetened condensed milk instead of evaporated milk?
No, they are not interchangeable. Sweetened condensed milk is too sweet and thick; the filling will be cloying and will not set properly. Evaporated milk gives the right body and caramelization.

German Chocolate Cake Recipe
Ingredients
Method
- Preheat oven to 350°F. Grease two 9-inch round pans and line with parchment. Whisk flour, sugar, cocoa, baking soda, baking powder, and salt. Combine buttermilk, oil, eggs, and vanilla; stir into dry ingredients. Mix in hot coffee until smooth.
- Divide batter between pans. Bake 30-35 minutes until a toothpick comes out with a few moist crumbs. Cool in pans 10 minutes, then turn out to cool completely.
- Spread pecans and coconut on a baking sheet. Toast at 350°F for 5-7 minutes until golden and fragrant; let cool.
- In a saucepan, whisk evaporated milk, sugar, egg yolks, and butter. Cook over medium heat, stirring constantly, 8-12 minutes until thickened. Remove from heat; stir in vanilla, coconut, and pecans. Cool to room temperature until spreadable.
- Level cake layers if needed. Place one layer on a plate; spread half the filling on top. Add second layer; spread remaining filling on top, leaving sides bare.
- Slice and serve at room temperature. Refrigerate 20 minutes for cleaner cuts if you like.
