Moist Coconut Cake
This coconut cake stays soft and moist with canned coconut milk, a tender crumb, and an optional coconut soak for extra moisture.

This is the kind of coconut cake I like best because it stays soft, has real coconut flavor, and reheats beautifully.
The canned coconut milk helps with moisture, the toasted coconut adds better flavor, and the optional soak gives you a little extra insurance if you want it.
I also tested the egg amount a few different ways and found that 3 eggs gave this cake the softer crumb I wanted. If coconut cake has ever felt too dense or a little flat, these are the small changes that made the biggest difference for me.
Coconut Milk: What to Buy
Walking down the grocery aisle can be confusing because there are so many cans. Here is the simple rule I follow: Buy the can, not the carton.
- Canned Full-Fat Coconut Milk: This is what I use. It has the right amount of fat to keep the cake tender. Make sure you shake the can before you open it!
- Canned Coconut Cream: This is even thicker and fattier. You can use it, but your cake will be very heavy.
- Cream of Coconut (The Sweet Stuff): I stay away from this for the cake batter. It’s mostly sugar and is meant for drinks like Piña Coladas. It has its place in baking, just not in this particular cake.
For this cake, use canned full-fat coconut milk and skip carton coconut milk or sweetened cream of coconut.
If you find yourself with extra canned milk after this bake, you can put it to good use in these sweet coconut muffins for an easy tropical breakfast.

The Easiest Way to Lock in Moisture: Use a Soak
One of the easiest ways to keep coconut cake from tasting dry is to add a soak while the cake is still warm.
This step is optional, but it can be especially helpful if you want even more moisture in the finished cake. Using a soak is especially helpful if you decide to use four eggs in the batter instead of three.
I just mix a little coconut milk with a tiny bit of rum (or extra vanilla). Use a fork to poke small holes in the top of the cake and pour it over.
The soak adds moisture back into the cake while it’s still warm, which helps keep the crumb soft and tender. It’s a small extra step, but it can make a noticeable difference.
This technique of using a liquid syrup to hydrate the sponge is the same method I use to create the deep, boozy flavor in my classic homemade rum cake.
Why I Use 3 Eggs in This Coconut Cake
When I tested this cake, I found that 3 eggs gave it a softer, lighter texture. Using 4 eggs made the crumb a little tighter and heavier than I wanted.
If you like a coconut cake with a softer crumb, I’d stick with 3 eggs. If you want a slightly firmer texture similar to pound cake, 4 eggs can work, but the cake won’t feel quite as light.
I also recommend using room temperature eggs so they blend more smoothly into the batter. Cold eggs can cause the melted butter to firm up too quickly.

Making it Taste Like Real Coconut
If coconut cake tastes artificial, too much extract is usually the reason. I get the best flavor from the shredded coconut itself, with just a small amount of coconut extract in the batter.
- For the topping: I always toast my coconut in a pan for a few minutes until it’s golden brown. It gives the coconut a nuttier, richer flavor instead of just adding sweetness.
- For the batter: Use real vanilla and just a tiny splash of coconut extract. Let the canned milk and shredded coconut flakes add the flavor.
How to Make a Moist Coconut Cake
Here’s a quick look at the process. The full recipe with exact ingredient amounts is in the recipe card below.








How to Store Coconut Cake
This cake keeps well, but the texture is best when you store it properly and let it warm slightly before serving. For the best texture, let a chilled slice sit at room temperature for 15 to 20 minutes before serving.
- In the Fridge: Store the cake in an airtight container or cover the pan tightly with plastic wrap. It will stay good for up to 4 days.
- Use Plastic Wrap: If you’ve already sliced the cake, press a small piece of plastic wrap directly against the cut edge. This prevents the air from drying out the inside of the sponge.

Can You Freeze It?
Yes! This cake freezes beautifully. If you want to save half for later, I recommend freezing individual slices on a baking sheet for an hour until the frosting is firm, then wrapping them tightly in plastic wrap and foil.
They’ll stay fresh for up to 2 months. Thaw the slices in the fridge overnight, then let them sit at room temperature for a few minutes before serving.
If you like fruit cakes with cream cheese frosting, my traditional Hummingbird Cake is another good one to try. For serving, a scoop of homemade vanilla ice cream works really well with this cake too.

What You’ll Need
For the Cake:
- 2 ½ cups all-purpose flour
- 2 cups granulated sugar
- 1 tablespoon baking powder
- ½ teaspoon baking soda
- 1 teaspoon salt
- 1 cup unsalted butter, melted and slightly cooled
- 1 cup full-fat coconut milk, canned; well shaken
- ½ cup sour cream
- 3 large eggs, room temperature
- 1 tablespoon vanilla extract
- 1 teaspoon coconut extract
- 1 cup sweetened shredded coconut
For the Optional Coconut-Rum Soak:
- ¼ cup full-fat coconut milk, canned
- 2 tablespoons granulated sugar
- 1 tablespoon white rum, or substitute with 1 teaspoon vanilla extract
For the Cream Cheese Frosting:
- 8 ounces cream cheese, block-style; softened
- ½ cup unsalted butter, softened
- 1 teaspoon vanilla extract
- 3 to 3 ½ cups powdered sugar
- 2 to 3 tablespoons milk, as needed
- 1 to 1 ½ cups sweetened shredded coconut, for topping (toasted or untoasted)
How to Make It
- Preheat your oven to 350°F. Grease a 9×13-inch baking pan, and line the bottom with parchment paper for easy removal (optional).
- In a large bowl, whisk together the flour, sugar, baking powder, baking soda, and salt until well combined.2 ½ cups all-purpose flour2 cups granulated sugar1 tablespoon baking powder½ teaspoon baking soda1 teaspoon salt
- In a separate bowl, whisk the melted butter, coconut milk, sour cream, eggs, vanilla, and coconut extract. Whisk until the mixture is completely smooth and the eggs are fully incorporated.1 cup unsalted butter1 cup full-fat coconut milk½ cup sour cream3 large eggs1 tablespoon vanilla extract1 teaspoon coconut extract
- Pour the wet ingredients into the dry ingredients. Stir by hand just until the flour streaks disappear—do not overmix. Gently fold in the 1 cup of shredded coconut.1 cup sweetened shredded coconut
- Spread the batter evenly into the pan, and bake for 32 to 38 minutes. The cake is done when a toothpick inserted into the center comes out clean, and the top springs back when lightly touched.
- Optional: While the cake is cooling but still warm, whisk together your soak ingredients. Use a fork or skewer to poke holes across the entire surface of the cake. Slowly pour or brush the soak over the top.¼ cup full-fat coconut milk2 tablespoons granulated sugar1 tablespoon white rum
- Let the cake cool completely in the pan. While the cake cools, make the frosting.
- Beat the cream cheese and butter together for 2–3 minutes until creamy. Add the vanilla, then gradually beat in the powdered sugar until thick. If it’s too stiff, add milk 1 tablespoon at a time until it’s easily spreadable.8 ounces cream cheese½ cup unsalted butter1 teaspoon vanilla extract3 to 3 ½ cups powdered sugar2 to 3 tablespoons milk
- Spread the frosting over the cooled cake. Gently press the shredded coconut (toasted for best flavor!) into the frosting. Serve slightly warm or at room temperature.1 to 1 ½ cups sweetened shredded coconut


