You know that dessert that makes people go quiet at the table because they’re too busy savoring every bite? This is it.
Tres leches cake is ridiculously good. Like, “I’ll just have one more slice” good. And if you’ve never had it before, you’re about to understand why this Latin American dessert has such a cult following.
The name literally means “three milks” and that’s exactly what makes this cake so special. You bake a light, fluffy sponge cake, poke holes all over it, then soak it in a mixture of evaporated milk, sweetened condensed milk, and heavy cream.
Sounds weird, right?
But here’s what happens: the cake absorbs all that creamy goodness and transforms into something that’s moist, sweet, and has this texture that’s completely unique. It’s not soggy (if you do it right), it’s just perfectly saturated.
I first tried tres leches at a friend’s birthday party years ago and I couldn’t stop thinking about it for weeks. The version I’m sharing today is the one I’ve perfected after making it at least 20 times. It’s foolproof and always gets compliments.
Plus, it’s actually easier to make than most fancy cakes because you don’t need to worry about frosting layers or getting everything perfect. The milk mixture does most of the work for you.
What You’ll Need

For the Cake:
- 1 cup all-purpose flour
- 1½ teaspoons baking powder
- ¼ teaspoon salt
- 5 large eggs (separated, room temperature)
- 1 cup granulated sugar (divided)
- ⅓ cup whole milk
- 1 teaspoon vanilla extract
For the Three Milk Mixture:
- 1 can (12 oz) evaporated milk
- 1 can (14 oz) sweetened condensed milk
- 1 cup heavy cream
For the Topping:
- 2 cups heavy whipping cream (cold)
- 3 tablespoons powdered sugar
- ½ teaspoon vanilla extract
- Ground cinnamon (for dusting, optional)
- Fresh berries (optional, for garnish)
Tools You’ll Need
Getting your tools ready before you start makes this whole process way smoother.
- 9×13 inch baking pan
- Electric mixer (stand or handheld)
- Two mixing bowls (medium and large)
- Whisk
- Fork or skewer (for poking holes)
- Measuring cups and spoons
- Rubber spatula
- Plastic wrap or aluminum foil
- Sifter (optional, but helpful)
Pro Tips
These are the things I wish someone had told me the first time I made tres leches:
Let your eggs come to room temperature. I know it’s tempting to skip this, but room temperature eggs whip up way better and give you that fluffy texture you want. Just set them out 30 minutes before you start.
Don’t skip separating the eggs. The egg whites get beaten until they’re fluffy, which is what makes this cake so light. If you just mix whole eggs in, you’ll end up with a dense cake that won’t absorb the milk mixture properly.
Poke holes generously. I’m talking like 50+ holes all over the cake. More holes mean better milk absorption. Use a fork or a wooden skewer and really go for it.
Let it soak overnight. You can eat it after a few hours, but the cake gets so much better after sitting in the fridge overnight. The milk soaks in completely and the flavors meld together.
Use cold cream for the topping. Make sure your heavy cream is super cold when you whip it. I even stick my bowl and beaters in the freezer for 10 minutes before whipping. Cold cream whips faster and holds its shape better.
How to Make Tres Leches Cake

Step 1: Prep Your Pan
Preheat your oven to 350°F.
Grease your 9×13 inch pan with butter or cooking spray. I like to line the bottom with parchment paper too, just to be safe. Nothing worse than a cake that sticks.
Step 2: Mix the Dry Ingredients
Sift together the flour, baking powder, and salt in a medium bowl.
If you don’t have a sifter, just whisk them together really well. The goal is to get rid of any lumps and make sure the baking powder is evenly distributed.
Step 3: Beat the Egg Yolks
In a large bowl, beat the egg yolks with ¾ cup of sugar on high speed for about 2 minutes.
They should turn pale yellow and get thick and creamy. This is where you’re building the structure for your cake.
Add the milk and vanilla extract, then beat for another minute until everything is combined.
Step 4: Add the Flour Mixture
Pour the flour mixture into the egg yolk mixture and gently fold it in with a rubber spatula.
Don’t overmix here. Just fold until you don’t see any dry flour. Overmixing will make your cake tough.
Step 5: Beat the Egg Whites
In a separate clean bowl (this is important, any grease will prevent them from whipping), beat the egg whites on high speed until soft peaks form.
Add the remaining ¼ cup of sugar and keep beating until you get stiff peaks. The whites should be glossy and hold their shape when you lift the beaters.
This usually takes about 3-4 minutes with an electric mixer.
Step 6: Fold in the Egg Whites
Add about a third of the beaten egg whites to the cake batter and fold gently.
This first addition lightens the batter and makes it easier to incorporate the rest. Then add the remaining egg whites and fold carefully until just combined.
You want to keep as much air in there as possible. Use gentle, sweeping motions from the bottom of the bowl up and over.
Step 7: Bake the Cake
Pour the batter into your prepared pan and spread it evenly.
Bake for 25-30 minutes, or until the top is golden and a toothpick inserted in the center comes out clean.
The cake should spring back when you gently press the center. Let it cool in the pan for about 10 minutes.
Step 8: Poke the Holes
While the cake is still warm (but not hot), use a fork or skewer to poke holes all over it.
I like to poke holes about every inch or so. The more holes, the better it will absorb the milk mixture. Don’t be shy about this.
Step 9: Make the Three Milk Mixture
In a medium bowl, whisk together the evaporated milk, sweetened condensed milk, and heavy cream until smooth.
This should take about 30 seconds. You just want everything blended together.
Step 10: Soak the Cake
Slowly pour the milk mixture over the entire cake, making sure to hit all areas.
Pour it evenly so every part of the cake gets soaked. It might look like a lot of liquid (and it is), but the cake will absorb it. Some people like to pour a little, wait a few minutes, then pour more. That works too.
Cover the pan with plastic wrap or aluminum foil and refrigerate for at least 4 hours, but overnight is best.
Step 11: Make the Whipped Cream Topping
Right before serving, beat the cold heavy cream, powdered sugar, and vanilla in a chilled bowl until stiff peaks form.
This usually takes 3-4 minutes. Don’t overbeat or you’ll end up with butter (which I’ve definitely done before).
Spread the whipped cream evenly over the entire cake. You can make it as thick or thin as you like.
Step 12: Garnish and Serve
Dust with ground cinnamon if you want that classic look.
You can also top with fresh berries, strawberries, or leave it plain. All versions are delicious.
Cut into squares and serve cold. This cake is best eaten straight from the fridge.
Substitutions and Variations
Dairy-Free Version: Use coconut milk in place of evaporated milk and heavy cream, and coconut cream for the sweetened condensed milk. The flavor will be different (coconut-y, obviously), but it still works.
Chocolate Tres Leches: Add ¼ cup cocoa powder to the dry ingredients and reduce the flour by ¼ cup. You can also add chocolate syrup to the milk mixture for extra chocolate flavor.
Coffee Tres Leches: Add 2 tablespoons of instant espresso powder to the milk mixture. It gives the cake this amazing coffee flavor that pairs perfectly with the sweetness.
Strawberry Tres Leches: Mash up some fresh strawberries and swirl them into the whipped cream topping. Or layer sliced strawberries between the cake and cream.
Individual Servings: Make this in a muffin tin for individual tres leches cupcakes. Just reduce the baking time to about 15-18 minutes.
Less Sweet Version: Reduce the sugar in the cake to ½ cup and use unsweetened condensed milk if you can find it. The cake will still be sweet from the milk mixture, just less so.
Make Ahead Tips
This is actually one of those desserts that tastes better when made ahead.
Make the cake up to 2 days in advance and keep it covered in the fridge. The longer it sits, the more the milk mixture soaks in.
Just wait to add the whipped cream topping until a few hours before serving. Whipped cream doesn’t hold up as well over time.
If you’re making this for a party, I’d bake the cake and soak it the night before, then add the topping the morning of or a few hours before guests arrive.
You can also freeze the soaked cake (without topping) for up to 1 month. Just thaw it overnight in the fridge before adding the whipped cream.
Nutritional Information
Here’s the breakdown per serving (based on 12 servings):
| Nutrient | Amount |
|---|---|
| Calories | 385 |
| Total Fat | 18g |
| Saturated Fat | 11g |
| Cholesterol | 125mg |
| Sodium | 180mg |
| Total Carbs | 48g |
| Sugars | 38g |
| Protein | 9g |
Keep in mind this is a dessert, so it’s meant to be enjoyed as a treat. The milk and cream make it pretty rich, which is part of what makes it so good.
Pairing Suggestions
Tres leches is pretty sweet on its own, so I like to pair it with things that balance that out.
Coffee is the classic pairing. A strong black coffee or espresso cuts through the sweetness perfectly. If you’re serving this after dinner, a shot of espresso on the side is chef’s kiss.
Fresh fruit works great too. I love serving it with fresh mango slices, pineapple, or mixed berries. The tartness of the fruit complements the sweet cake.
Dulce de leche drizzled on top takes this over the top (in a good way). If you’re feeling extra, add a spoonful of dulce de leche to each serving.
For drinks, try it with horchata, Mexican hot chocolate, or even a sweet dessert wine like Moscato if you’re feeling fancy.
Leftovers and Storage
Store any leftovers covered tightly in the fridge for up to 4 days.
The cake actually holds up really well. Just make sure it’s covered or it’ll absorb other flavors from your fridge.
I don’t recommend freezing it once the whipped cream topping is on. The cream gets weird and watery when it thaws.
If you want to freeze portions, cut the cake into squares, wrap each piece individually in plastic wrap, then put them in a freezer bag. They’ll keep for up to 2 months. Thaw overnight in the fridge.
Pro tip: leftover tres leches makes an amazing breakfast the next day. I’m not saying you should eat cake for breakfast, but if you do, this is a good choice. 😊
FAQ
Why is my tres leches cake soggy? There’s a fine line between perfectly moist and soggy. If your cake is too wet, you might have used too much milk mixture or didn’t let it absorb properly. Make sure your cake is fully cooled before soaking, and don’t rush the refrigeration time.
Can I use a different pan size? You can, but the baking time will change. A 9×9 pan will need a longer bake time (35-40 minutes), while individual ramekins will need less (15-20 minutes). Just keep an eye on it.
Do I have to separate the eggs? Yes, for the best texture. Beating the egg whites separately creates that fluffy, sponge-like texture that absorbs the milk properly. If you skip this step, the cake will be dense.
Can I make this without an electric mixer? Technically yes, but it’s going to be a serious arm workout. You need to beat the egg whites to stiff peaks, which is really hard to do by hand. If you don’t have a mixer, you might want to borrow one.
How do I know when the cake has absorbed enough milk? The cake should look evenly moist all over, with no dry spots. If you gently press on it, it should feel soft and spongy, not dry. After refrigerating overnight, there might be a tiny bit of liquid at the bottom of the pan, which is normal.
Can I use low-fat or skim milk? You can, but the cake won’t be as rich and creamy. Part of what makes tres leches so good is the fat content in the milk. If you’re trying to make it lighter, I’d suggest just having a smaller portion rather than substituting low-fat products.
Why is my whipped cream runny? Your cream probably wasn’t cold enough, or you didn’t beat it long enough. Make sure both the cream and your bowl are really cold. Beat on high speed until you get stiff peaks.
Can I add alcohol to this? Absolutely. Rum is traditional. Add 2-3 tablespoons to the milk mixture for a boozy version. Just don’t add too much or it’ll overpower the other flavors.
Is tres leches supposed to be eaten cold? Yes, always serve it cold. The chilled cream and milk mixture is part of what makes it so refreshing and good.
How far in advance can I make this? The cake itself can be made 2 days ahead. Add the whipped cream topping up to 6 hours before serving for best results.
Wrapping Up
Tres leches cake might seem intimidating if you’ve never made it before, but I promise it’s easier than it looks.
The hardest part is just waiting for it to soak overnight (the anticipation is real). But that patience pays off when you take that first bite and realize you’ve made something pretty special.
This cake works for basically any occasion. Birthday parties, family gatherings, random Tuesday nights when you want something sweet. It’s always a hit.
One thing I love about this recipe is that it feeds a crowd. That 9×13 pan gives you at least 12 generous servings, so it’s perfect for when you need to bring dessert somewhere.
Give it a try and let me know how it turns out! Drop a comment below with your experience, any tweaks you made, or questions you have. I love hearing from you.
And if you’re feeling adventurous, try one of the variations I mentioned. The coffee version is seriously good.