Creamy Mexican Rice Pudding (Arroz con Leche)
This Mexican rice pudding is the kind of dessert you make once and suddenly it becomes your go-to cozy treat. Long-grain rice simmers slowly in whole milk with a cinnamon stick until the whole pot turns into something velvety and sweet.

A can of sweetened condensed milk does all the heavy lifting, and just before it’s done, a splash of vanilla and a handful of plump raisins go in if you like. The result is a creamy, spoonable pudding that tastes just as good warm from the stove as it does cold the next day.
What Makes This Rice Pudding So Good
A good rice pudding lives or dies by its texture, and this one stays soft without ever turning gummy. Whole milk gives it enough richness that you don’t need cream, and the condensed milk adds a caramel-like sweetness that granulated sugar just can’t match.
The cinnamon stick infuses the whole thing with that warm, familiar flavor without overpowering anything, and a final dusting of ground cinnamon right before serving makes every bowl smell like a bakery. It’s simple enough for a weeknight dessert but still feels a little special.
Ingredients

- 1 cup long-grain white rice, rinsed: use any plain long-grain rice, not instant
- 2 cups water: just enough to start the rice
- 4 cups whole milk: the fat keeps it creamy without separating
- 1 (14 oz) can sweetened condensed milk: the key flavor and sweetness
- 1 cinnamon stick: look for a crumbly, fragrant stick, not a dusty old one
- ¼ tsp salt: pulls the sweetness into focus
- 1 tsp vanilla extract: stir in at the end for a clean finish
- ⅓ cup raisins (optional): soak them in warm water for 10 minutes first so they stay plump
- Ground cinnamon for serving: a light sprinkle right on top
Variations / Substitutions
- Plant-based milk: swap the whole milk for full-fat oat milk or canned coconut milk (the coconut adds a subtle tropical note that works surprisingly well)
- No sweetened condensed milk: you can replace it with ½ cup sugar and an extra ½ cup evaporated milk, but the flavor will be less rich
- Spice swap: a thin strip of orange zest simmered with the milk and a tiny pinch of clove makes a nice change from plain cinnamon
- Raisin-free: leave them out entirely, or stir in a handful of toasted chopped pecans at the end for crunch
- Shortcut hint: if you want a thicker, more pudding-like texture with zero effort, try my classic stove top tapioca pudding next
How to Make Mexican Rice Pudding
Step 1: Rinse the Rice

Place the rice in a fine mesh strainer and rinse it under cool running water until the water runs mostly clear, about 90 seconds. Shake off any excess water. This step washes away extra surface starch so the grains stay separate and tender instead of clumping together.
You’ll notice the water go from milky to just faintly cloudy. That’s your cue it’s ready.
Step 2: Cook the Rice in Water

In a medium heavy-bottomed pot, combine the rinsed rice, 2 cups water, and the cinnamon stick. Bring it to a boil over medium-high heat, then cover, reduce the heat to low, and let it simmer for 15 minutes. The rice will absorb most of the water and look plump but still have a little bite.
When you lift the lid, the surface should look pitted, like little steam holes have formed. If any water remains pooled at the bottom, just give it a quick stir and let it cook another minute uncovered.
Step 3: Simmer in Milk

Pour in the 4 cups of whole milk and add the salt. Keep the heat at medium-low so the milk steams gently but never reaches a rolling boil. Stir every few minutes and let it cook uncovered for about 20 minutes. You’re looking for the rice to swell into soft, distinct grains and the milk to thicken enough that it coats the back of a spoon.
During this time the kitchen will fill with that sweet cinnamon smell, and the mixture will go from thin and milky to something that moves like a loose porridge. Stir a little more often toward the end so the bottom doesn’t catch.
Step 4: Sweeten and Flavor

Once the pudding looks thick and creamy but still flows slightly when you drag a spoon through it, remove the pot from the heat. Fish out the cinnamon stick and discard it. Pour in the entire can of sweetened condensed milk and the vanilla, and stir until everything is smooth and uniform. If you are using raisins, fold them in now.
The color will shift from pale ivory to a warm golden tone right away. Taste a spoonful and adjust with a tiny pinch more salt if it needs it, though it rarely does.
Step 5: Dust and Serve

Spoon the rice pudding into bowls while it is still warm, or let it cool and chill it later. Just before serving, dust the top lightly with ground cinnamon. That final sprinkle makes the whole thing feel done.
You can serve it right off the stove if you like a looser, creamier texture, or refrigerate it for a few hours for a thicker, scoopable pudding. Both ways work, and either way, that cinnamon dusting on top is non-negotiable.
A Few Things to Keep in Mind
- Rinse the rice well. It only takes a minute and it’s the number one thing that keeps your pudding from turning into paste.
- Stir gently and not too often during the milk simmer. A lazy stir every 5 minutes is plenty. Over-stirring breaks down the grains and releases more starch, which can make it gluey.
- If the pudding looks thin after 20 minutes, don’t worry. It thickens more as it cools, especially because of the condensed milk.
- Soak the raisins in warm water for 10 minutes and drain them before adding. This little step keeps them from sucking moisture out of the pudding later.
Storing Leftovers
- Refrigerate: let the pudding cool to room temperature, then transfer it to an airtight container and refrigerate for up to 5 days.
- Reheating: add a splash of milk and warm it gently in a saucepan over low heat, stirring just until it loosens up. A microwave works too, in 30-second bursts.
- Serve cold: this pudding is fantastic straight from the fridge on hot days, no reheating needed.
Frequently Asked Questions
Can I use brown rice instead?
No, brown rice takes much longer to cook and the texture will be chewy rather than creamy. Stick with white long-grain rice for this one.
My rice pudding turned out too thick. What happened?
It probably sat a little too long after cooking, or the heat was slightly too high during the simmer. Stir in a few tablespoons of warm milk until it reaches the consistency you like.
Can I make this dairy-free?
Yes, use full-fat oat milk or canned coconut milk for the whole milk, and one can of sweetened condensed coconut milk in place of the regular sweetened condensed milk. The flavor will be a bit different but still creamy.
Why did a skin form on top?
A skin naturally forms as the pudding cools and the surface dries out. If you dislike it, press a piece of plastic wrap directly onto the surface while it cools, or just stir it back in before serving.

Mexican Rice Pudding Recipe
Ingredients
Method
- Rinse the rice under cool water until the water runs mostly clear.
- Combine rice, water, and cinnamon stick in a medium pot. Bring to a boil, cover, reduce heat to low, and simmer 15 minutes until water is absorbed.
- Add milk and salt. Cook over medium-low heat, stirring occasionally, for 20 minutes until thick and creamy.
- Remove from heat, take out the cinnamon stick, and stir in sweetened condensed milk and vanilla. Fold in raisins if using.
- Spoon into bowls and dust with ground cinnamon before serving.
