Loading…

By Reading time

Dense chocolate cake and zucchini usually sound like a trick, but this one earns its place because the zucchini vanishes into the crumb and leaves behind a cake that stays plush for days. The texture lands somewhere between a rich snack cake and a proper layer cake: deeply chocolatey, soft at the center, and sturdy enough to stack without turning heavy. The ganache on top brings the whole thing into dramatic territory, with a glossy pour that sets into a thin shell instead of a thick frosting cap.

The key is squeezing the zucchini dry before it ever meets the batter. Zucchini holds a surprising amount of water, and if you skip that step, the cake bakes up damp in the wrong way and can sink in the middle. Hot coffee doesn’t make this taste like coffee; it deepens the cocoa and gives the chocolate a darker edge without adding another obvious flavor. That’s what makes the crumb taste fuller and less one-note.

Below, I’ve included the small details that matter most here: how to avoid a thin ganache, why the cake layers need to cool completely before stacking, and a few ways to adjust the recipe if you want to change the finish without losing that dramatic look.

The cake came out unbelievably moist, and the ganache poured on perfectly without needing to spread it. I used the coffee and nobody guessed zucchini was in it until I told them.

★★★★★— Melissa T.

Save this double-layer zucchini chocolate cake for the kind of dessert that slices clean, looks dramatic, and stays fudgy for days.

Save to Pinterest

The Zucchini Has One Job: Add Moisture Without Showing Up

The biggest mistake in zucchini cake is treating the vegetable like a star ingredient. It isn’t here for flavor. It’s here to hold water in the crumb so the cake stays soft after it cools, but that only works when you control how much liquid it brings into the batter. Squeeze the zucchini dry, then measure it. A loose handful of wet shreds can throw off the batter enough to make the layers dense at the bottom and gummy in the center.

The other thing that matters is structure. This cake uses both baking soda and baking powder because the cocoa, zucchini, and oil each pull the batter in different directions. The result is a cake that rises enough to slice neatly, but still bakes up with that dark, almost brownie-like middle. If your cake ever turns out flat, it’s usually because the zucchini was too wet or the batter sat too long before baking.

What Each Ingredient Is Actually Doing in This Cake

Zucchini Cake Recipe glossy chocolate, dramatic layers, fudgy
  • Shredded zucchini — This is the moisture insurance policy. Squeeze it dry in a clean kitchen towel or several layers of paper towels until it feels damp, not wet. If you skip that, the cake can bake up heavy and a little wet at the bottom.
  • Dutch process cocoa powder — This gives the cake its deep, dark color and a smoother chocolate taste. Natural cocoa will work in a pinch, but the flavor will be sharper and the color lighter. For this cake, Dutch process makes the crumb look as dramatic as it tastes.
  • Hot coffee — Coffee doesn’t make the cake taste like coffee; it wakes up the chocolate. Hot water will work if that’s what you have, but the cake loses some depth. Use freshly brewed coffee and let it stay hot when it goes into the batter.
  • Vegetable oil — Oil keeps the crumb tender long after the cake cools. Butter would add flavor, but it also firms up as it sets, and that changes the texture. Here, neutral oil is the right choice for a soft, plush slice.
  • Dark chocolate ganache — The ganache is the finish, not just the frosting. Use a chocolate you’d actually eat on its own, because there’s nowhere for bland chocolate to hide in a pour like this. The cream-to-chocolate ratio gives you a glaze that drips, then sets with a soft sheen.

Building the Batter, Baking the Layers, Pouring the Finish

Mix the dry ingredients first

Whisk the flour, cocoa, sugar, baking soda, baking powder, and salt together until the cocoa breaks up and the mixture looks even. This matters more than it sounds, because cocoa likes to clump and baking soda needs to be distributed well or you end up with uneven rise. You’re not aerating the batter here; you’re setting it up so the leavening works across both layers.

Bring the wet ingredients together

Beat the eggs, oil, coffee, and vanilla until the mixture looks smooth and glossy. The batter should smell deeply chocolatey even before the dry ingredients go in. If the coffee is cold, the batter can thicken unevenly and the cocoa won’t dissolve as smoothly, so keep it hot when you add it.

Fold in the zucchini at the end

Once the wet and dry ingredients are combined, fold in the shredded zucchini just until it disappears into the batter. Overmixing at this point can make the cake tough, and you don’t need aggressive stirring to distribute the zucchini. The batter will look thick and dark, with green flecks barely visible if you’ve squeezed the zucchini well.

Bake until the center springs back

Divide the batter evenly between two greased 9-inch pans and bake at 350°F until the tops are set and a tester comes out with a few moist crumbs. The edges should pull slightly from the sides, and the center should spring back when pressed lightly. If the middle still looks shiny and wet, give it a few more minutes before checking again.

Pour the ganache, don’t spread it

Warm the cream and pour it over the chopped chocolate until the mixture turns glossy and smooth. Let the ganache cool just enough to thicken slightly, then pour it over the stacked cake layers and let gravity do the work. If you try to spread it while it’s too hot, it will run straight off the cake; if it’s too cool, it won’t drip in those clean, dramatic rivulets.

Three Ways to Change the Finish Without Losing the Cake

Dairy-Free Version

Swap the ganache cream for full-fat coconut milk and use a dairy-free dark chocolate that melts smoothly. The cake itself is already dairy-free, so this change is all about the topping. Coconut milk adds a faint coconut note and a slightly softer set, which works well with the dark chocolate.

Make It a One-Layer Cake

Bake the batter in a 9×13-inch pan instead of two rounds and start checking a few minutes earlier if your pan runs hot. You’ll lose the stacked look, but you gain easier serving and a little less fuss. The texture stays the same, though the ganache should be poured in a thinner layer so the cake doesn’t feel overly rich.

Gluten-Free Adjustment

Use a 1:1 gluten-free baking flour blend that already includes xanthan gum. The cake is moist enough to handle the swap, but don’t overmix once the flour goes in or the texture can turn a little tight. The result won’t be identical to the original, but it still bakes into a rich, sliceable cake.

Storage and Reheating

  • Refrigerator: Store covered for up to 4 days. The ganache firms up and the crumb stays moist, though the chocolate flavor gets a little deeper by day two.
  • Freezer: Freeze individual slices tightly wrapped for up to 2 months. Thaw in the refrigerator overnight; the ganache holds up better than a buttercream here.
  • Reheating: Bring slices to room temperature before serving, or warm briefly in the microwave in 10-second bursts. Too much heat will make the ganache greasy and soften the layers more than you want.

Questions I Get Asked About This Recipe

Can I use freshly grated zucchini without squeezing it?+

No. Freshly grated zucchini holds a lot of water, and that extra moisture can make the cake gummy and cause the center to sink. Squeezing it dry keeps the batter balanced so the cake bakes up plush instead of wet.

How do I know when the cake layers are done baking?+

The tops should look set and spring back lightly when touched, and a tester should come out with a few moist crumbs, not wet batter. The cakes also start pulling slightly from the edges of the pan. If the center still looks shiny, give it a few more minutes.

Can I skip the coffee and use water instead?+

Yes, hot water works, but the chocolate won’t taste as deep. Coffee doesn’t make the cake taste like a mocha; it sharpens the cocoa and gives the cake a darker finish. If you want the richest version, use coffee.

Can I make the ganache ahead of time?+

Yes, but it will thicken as it sits. If it gets too firm, warm it gently over low heat or in short bursts in the microwave until it pours again. For this cake, the ganache should be fluid enough to drip, not so thick that it has to be spread.

How do I keep the cake from sticking to the pans?+

Grease the pans well and line the bottoms with parchment. Chocolate cakes like this one can cling at the edges if the pans aren’t prepared properly, especially with an oil-based batter. Let the layers cool for about 10 minutes before turning them out so they release cleanly.

Zucchini Cake Recipe

Zucchini cake with a near-black double-layer chocolate crumb and a glossy dark chocolate ganache that drips down the sides in dramatic rivulets. Moist, fudge-dense slices come from squeezed-dry shredded zucchini with no zucchini flavor, finished with flaky salt on top.
Prep Time 1 hour 15 minutes
Cook Time 35 minutes
ganache setting 30 minutes
Total Time 2 hours 20 minutes
Servings: 12 servings
Course: Dessert
Cuisine: American
Calories: 420

Ingredients
  

Zucchini cake
  • 2 shredded zucchini, squeezed dry Squeeze well so the batter bakes up dense, not watery.
  • 1.75 cup all-purpose flour
  • 0.75 cup Dutch process cocoa powder
  • 2 cup sugar
  • 2 tsp baking soda
  • 1 tsp baking powder
  • 1 tsp salt
  • 3 eggs
  • 1 cup vegetable oil
  • 1 cup hot coffee (or hot water) Hot coffee amplifies chocolate intensity without making the cake taste like coffee.
  • 1 tsp vanilla
  • 1 salted dark chocolate ganache: 1 cup heavy cream + 200g dark chocolate + ½ tsp flaky salt Pour while fluid and allow it to drip—don't spread it.
  • 1 crystallized zucchini strips for topping (optional)

Equipment

  • 2 sheet pan
  • 1 Dutch oven

Method
 

Bake the cake layers
  1. Preheat the oven to 350°F and grease two 9-inch pans.
  2. Whisk together the flour, Dutch process cocoa powder, sugar, baking soda, baking powder, and salt until evenly combined.
  3. In a separate bowl, beat the eggs, vegetable oil, hot coffee (or hot water), and vanilla until smooth.
  4. Combine the wet and dry ingredients and mix just until no dry streaks remain.
  5. Fold in the shredded zucchini until the batter looks thick and evenly dark.
  6. Divide the batter between the two pans, then bake for 30–35 minutes at 350°F until the centers spring back.
  7. Cool the cakes completely in the pans before ganaching.
Make and finish with ganache
  1. Warm the ganache components together until the mixture is smooth and pourable, then stir in the flaky salt if not already included.
  2. Stack the cooled cake layers and pour the fluid ganache over the top so it drips down the sides in rivulets.
  3. Let the ganache set for 30 minutes, then finish with flaky salt and crystallized zucchini strips if using.

Notes

Pro tip: use well-squeezed zucchini so the cake bakes up dense and fudgy rather than wet. Pour ganache while it’s fully fluid and let it drip—avoid spreading it for the signature glossy rivulets. Store covered in the refrigerator for up to 5 days; freeze unfrosted cake layers up to 2 months (wrap tightly). For a dairy-free swap, use coconut cream + dairy-free dark chocolate ganache if you want a similar glossy finish.
About the author
Stacey

Leave a Comment

Recipe Rating