Why does this cake look like it drowned… and still somehow tastes incredible?
I asked myself that while standing over a pan of sponge cake, poking it aggressively with a fork like I had some unresolved issue with it. Milk was pooling. Way too much milk, honestly. I almost stopped halfway. Thought about pouring some out. Didn’t. Glad I didn’t.
This cake is weird. In the best way.
It’s soft but soaked. Sweet but not cloying. Light but also very… wet. And somehow all of that works together instead of becoming a soggy disaster. I didn’t trust it at first. I trust it now.
Also, I’ve messed this up before. Not dramatically. Just small things. Like rushing the egg whites. Or not letting it chill long enough because I got impatient. It still turned out decent. That’s kind of the charm here. It forgives you a bit.
Let me show you how I actually make it, including the slightly chaotic parts.
Ingredients I Used for the Recipe
1 1/2 cups all-purpose flour - the base, nothing fancy
1 1/2 teaspoons baking powder - gives the sponge lift
1/2 teaspoon salt - balances all that sweetness
6 large eggs, separated - this part matters more than I expected
1 cup granulated sugar - split between yolks and whites
1 1/2 teaspoons vanilla extract - I eyeballed it once and it was too much
1/2 cup whole milk - for the batter
1 can sweetened condensed milk (14 oz) - thick, sweet, almost sticky
1 can evaporated milk (12 oz) - deeper milk flavor
1/2 cup whole milk - completes the “three milks” situation
1 cup heavy cream - for topping
2 tablespoons powdered sugar - sifted, unless you like tiny lumps
Pinch of salt - makes whipped cream taste less flat
Ground cinnamon - optional but I always add it
How to make Tres Leches Cake?
Step 1 - Mix the dry ingredients
I whisk the flour, baking powder, and salt together in a bowl. Nothing dramatic here. I used to skip whisking and just stir lazily, but it actually clumps if you’re not paying attention. Learned that the annoying way.
Step 2 - Beat the egg yolks and sugar
I beat the yolks with about 3/4 cup of the sugar until it turns pale and kind of fluffy. It should look thicker. Like it’s thinking about becoming a custard but hasn’t committed yet.
Once I rushed this step and the cake came out flatter. Still edible. Just… less proud of itself.
Step 3 - Add milk and vanilla
I pour in the 1/2 cup milk and vanilla extract. Stir until smooth. It smells good already, which is slightly misleading because the cake still has a long way to go.
Step 4 - Combine wet and dry
I pour the egg yolk mixture into the dry ingredients and fold it in. Not aggressively. I used to mix like I was trying to win something. Don’t do that. Just fold until combined.
Step 5 - Beat the egg whites
Clean bowl. Dry bowl. This matters more than it should.
I beat the egg whites with the remaining sugar until stiff peaks form. Not soft. Not floppy. Stiff. I once stopped too early and the cake ended up kind of dense. Still soaked fine, but the texture was off.
Step 6 - Fold in the egg whites
This part always feels like I’m about to ruin everything. I fold the whites into the batter in two batches. Slowly. Gently. I still overmix sometimes and then stare at it like, did I just deflate it?
Usually it’s fine.
Step 7 - Bake
I pour the batter into a greased 9x13 pan and bake at 350°F for about 18 to 20 minutes.
The top gets lightly golden. Not too dark. If it browns too much, it can taste a little dry later, even after soaking.
Step 8 - Let it cool (and shrink)
The cake pulls away from the sides and looks slightly sad. Like it lost confidence.
This is normal. I used to think I messed up every time it shrank. Turns out, that’s exactly what it’s supposed to do.
Step 9 - Mix the three milks
I whisk together the condensed milk, evaporated milk, and whole milk.
This mixture is very sweet. I always taste it and go “whoa.” And then I remember it’s going into a plain sponge, so it evens out.
Step 10 - Poke and soak
I poke holes all over the cake. A lot of holes. More than feels necessary.
Then I slowly pour the milk mixture over. It looks like too much. Every single time. I hesitate. Every single time.
But it soaks in. Give it a minute. It always does.
Step 11 - Chill
I stick it in the fridge for at least 2 to 3 hours. Overnight is better, but I don’t always wait that long.
If you cut it too early, it’s still good, just less… cohesive. The milk hasn’t fully settled into the cake yet.
Step 12 - Whipped cream topping
I whip the heavy cream with powdered sugar and a pinch of salt until soft peaks form.
I’ve overwhipped this before and ended up halfway to butter. Not ideal. Still edible. Just weird.
Step 13 - Finish and serve
I spread the whipped cream on top and dust cinnamon over it.
Then I cut into it and hope it holds together. It usually does. Kind of. It’s a messy slice, but that’s part of the deal.
Things I Noticed While Making This (and Eating It)
The texture is the whole point. If you go into this expecting a fluffy dry cake, you’ll be confused. It’s meant to be soaked. Almost borderline too much. That’s why it works.
I also noticed the flavor gets better after sitting overnight. Day one is good. Day two is better. Day three… somehow still good, just softer.
And weirdly, I like it slightly cold. Not fridge-cold, but definitely not room temp. The cream holds better and the milk feels more balanced.
Also, I tried adding extra vanilla once. Bad idea. It overpowered everything. This cake is simple for a reason.
Tips
Don’t rush the egg whites - they carry the structure
If your cake shrinks, don’t panic - it fixes itself after soaking
Poke more holes than you think you need - seriously
Let it chill long enough - this changes everything
Don’t overwhip the cream - stop at soft peaks
If it looks too wet, it’s probably right
You can freeze the sponge before soaking - I’ve done it and it works fine
I still laugh a little every time I pour that much milk over a cake. It feels wrong. Like I’m breaking some baking rule.
But then I take a bite and it’s soft, sweet, milky, and kind of perfect in a messy way.
So yeah. Trust the process. Even when it looks like a disaster halfway through.
This classic Tres Leches Cake is the ultimate celebration dessert: incredibly moist, milky, and absolutely delicious. A fluffy sponge cake soaks up a rich mixture of three milks (sweetened condensed, evaporated, and whole milk), creating a tender crumb that melts in your mouth. It’s topped with billowy homemade whipped cream and a dusting of cinnamon. This recipe is simple, foolproof, and perfect for birthdays, holidays, or any time you need a crowd-pleasing treat.
Ingredients
For the Sponge Cake
1.5cups all-purpose flour (190g)
1.5teaspoons baking powder
0.5teaspoon kosher salt
6large eggs (separated)
1cup white granulated sugar (200g)
1.5teaspoons pure vanilla extract
0.5cup whole milk (120ml)
For the Three Milks Soak
1can sweetened condensed milk (14 oz / 400g)
1can evaporated milk (12 oz / 350ml)
0.5cup whole milk (120ml)
For the Topping
1cup heavy cream (240ml, cold)
2tablespoons powdered sugar (sifted)
1pinch kosher salt
Ground cinnamon (for garnish)
Instructions
Make the Sponge Cake
1
PrepPreheat oven to 350°F (175°C). Grease a 9x13-inch baking pan and set aside.
2
Mix Dry IngredientsIn a medium bowl, whisk together the all-purpose flour, baking powder, and salt. Set aside.
3
Beat Yolks and SugarIn a stand mixer fitted with the paddle attachment, beat the egg yolks and granulated sugar on high speed until pale yellow and doubled in volume (about 3-4 minutes).
4
Add Wet IngredientsReduce speed to low. Mix in the vanilla extract and 1/2 cup whole milk until just combined. Pour this mixture into the dry ingredients and fold gently until incorporated.
5
Whip Egg WhitesThoroughly clean and dry the mixing bowl and whisk attachment (any grease will prevent whipping). Beat the egg whites on high speed until stiff peaks form, about 3-4 minutes.
6
Fold and BakeGently fold the egg whites into the batter in two batches until no white streaks remain. Pour batter into the prepared pan. Bake for 18-20 minutes until a toothpick comes out clean. Let cool completely in the pan.
Soak and Assemble
7
Prepare Milk MixtureIn a large jug or bowl, whisk together the sweetened condensed milk, evaporated milk, and remaining 1/2 cup whole milk.
8
Poke and SoakOnce the cake is cool, use a fork to poke holes all over the surface (about 20-30 times). Slowly pour the milk mixture over the cake, ensuring it absorbs evenly. Cover and refrigerate for at least 3 hours, preferably overnight.
9
Whip Cream and ServeJust before serving, whip the heavy cream, powdered sugar, and pinch of salt until soft peaks form. Spread evenly over the chilled cake. Dust with cinnamon. Slice and serve cold.
Nutrition Facts
Servings 12
Serving Size 1 slice
Amount Per Serving
Calories420kcal
% Daily Value *
Total Fat18g28%
Saturated Fat10g50%
Trans Fat0.5g
Cholesterol135mg45%
Sodium180mg8%
Potassium320mg10%
Total Carbohydrate58g20%
Dietary Fiber0.5g2%
Sugars42g
Protein9g18%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily value may be higher or lower depending on your calorie needs.
Note
Shrinkage is normal: The cake may shrink slightly as it cools, but it will plump up again once it absorbs the milk mixture. Make Ahead: You can bake the cake a day in advance. Wrap tightly and store at room temperature. Soak and top with cream on the day of serving.
Keywords:
Tres Leches, Mexican Cake, Latin Dessert, Birthday Cake, Moist Cake
Pin this recipe to share with your friends and followers.
Sarah
Food and Lifestyle Blogger
Hi, I’m Sarah, a home cook and baker who believes that good food doesn’t need to be complicated to be meaningful. This blog is where I share approachable, dependable recipes made with care — the kind of dishes you can come back to again and again.