Desserts
This arroz doce—a classic Portuguese sweet rice recipe—transforms simple ingredients into a velvety, cinnamon-kissed dessert that feels like a warm hug. 💛 The secret lies in soaking the rice overnight and simmering it with milk and sugar until it reaches that signature creamy, pudding-like texture. What makes this recipe special is its balance of sweetness and subtle spice, a hallmark of Portuguese baking traditions.
The process begins with preparing the rice—soaking it in milk and sugar for at least 8 hours to ensure tender, melt-in-your-mouth grains. After cooking, the mixture thickens into a luscious, almost custard-like consistency, perfect for serving warm or chilled. The final touch? A sprinkle of toasted almonds and a dusting of cinnamon, adding crunch and aromatic warmth to every bite.
What you’ll end up with is a dessert that’s rich yet not overly sweet, with a delicate cinnamon flavor that lingers just enough to satisfy. The texture is smooth and creamy, with a hint of almond nuttiness from the topping. This dish is traditionally served at celebrations, but it’s so comforting you’ll want to enjoy it anytime.
Pair it with a glass of port wine or serve it alongside fresh berries for a complete dessert experience. The recipe is simple enough for weeknight treats but impressive enough for special occasions—making it a versatile addition to any dessert repertoire.
Ingredients for arroz doce portuguese sweet rice
Simple ingredients transform into Portugal's beloved cinnamon-kissed rice pudding dessert.
| Ingredient | Amount | Notes |
|---|---|---|
| Short-Grain White Rice 🍚 | 1 cup | Uncooked, like Arborio or sushi rice |
| Whole Milk 🥛 | 4 cups | Full-fat for creamy texture |
| Granulated Sugar 🍚 | 1 ½ cups | Adjust to taste for sweetness |
| Ground Cinnamon 🍃 | 2 tsp | Ceylon cinnamon preferred |
| Vanilla Extract 🌿 | 1 tbsp | Pure vanilla for authentic flavor |
| Whole Eggs 🥚 | 2 whole | Room temperature for smooth blend |
| Unsalted Butter 🧈 | 4 tbsp | Cold, cubed for easier melting |
| Toasted Sliced Almonds 🥜 | ½ cup | Lightly toasted for crunch |
| Salt 🧂 | ¼ tsp | Fine sea salt for balance |
| Lemon Zest 🍋 | 1 tsp | Brightens the sweetness |
| Orange Blossom Water 🌸 | ½ tsp | Optional, for floral note |
The rice is the heart of this dish, and short-grain varieties like Arborio work best—they absorb liquid beautifully while staying tender. For milk, whole milk gives the creamiest texture, but 2% works too if you prefer. Sugar is where you can adjust to taste: start with 1.5 cups and add more if you like it sweeter. Ceylon cinnamon has a sweeter, more delicate flavor than regular cassia, but either works. If you can't find it, use regular ground cinnamon—just add a pinch more. The vanilla extract should be pure, not imitation. Store-bought vanilla beans are perfect if you want to go the extra mile and scrape the seeds yourself.
No whole milk? Evaporated milk or coconut milk works in a pinch, though the texture will be slightly different. Running short on cinnamon? A pinch of nutmeg adds warmth, though it won't be the same. The eggs are essential—they help bind the mixture and give it that signature creamy texture. No eggs? Try 2 tbsp cornstarch mixed with 2 tbsp water as a substitute. For the almonds, toasted sliced almonds are ideal, but pecans or walnuts work too. Just make sure they're toasted—raw nuts won't give that satisfying crunch. The orange blossom water is optional but adds a lovely floral note that's traditional in Portuguese desserts. If you can't find it, skip it—it won't ruin the dish.
This dessert tastes even better the next day as the flavors meld, so make it ahead if you can. Store it in an airtight container in the fridge for up to 5 days. To reheat, warm gently in the microwave or on the stovetop with a splash of milk to restore creaminess. The almonds stay crispy for about 3 days if stored separately, but I always toast fresh ones right before serving. For a special touch, dust with extra cinnamon before serving—it really elevates the presentation. Port wine pairs beautifully with this dessert, but it's equally lovely on its own.
Why You'll Love This Recipe
- No Rice Burner Needed: I swear by this recipe because it’s the only sweet rice I’ve ever made that doesn’t stick to the pot like glue. The milk and sugar combo keeps it creamy while the short-grain rice stays tender—no scraping required. (Yes, even on a Tuesday night.)
- Cinnamon-Vanilla Magic: That first spoonful? Pure comfort. The cinnamon warms you up while the vanilla extract adds this subtle, cozy depth—like a hug in dessert form. Honestly, the sugar doesn’t even feel sweet; it just melts into something richer.
- Breakfast or Dessert: I’ve served this cold for brunch with toast and jam, or warm as a simple dessert after dinner. The kids adore it as a snack, and my husband sneaks seconds when he thinks I’m not looking. (Between us, it’s his favorite.)
- Leftovers That Last: This recipe actually tastes better the next day—like a custardy, caramelized dream. I make a big batch on Sundays, and it disappears by Wednesday. Plus, the ingredients are cheap, so you’re not breaking the bank for something this indulgent.
Step-by-step instructions for Portuguese sweet rice
Here's how to achieve that signature Portuguese arroz doce—silky, spiced, and perfectly set.
👨🍳 Step 1: Prepare the Rice Mixture
In a medium saucepan, combine the 1 cup short-grain white rice with the 4 cups whole milk and 1.5 cups granulated sugar. Stir gently until the sugar dissolves completely—this prevents grainy spots in your finished dessert. Bring to a gentle simmer over medium heat, then reduce to the lowest setting possible while maintaining a bare simmer.
Real talk: This isn't a rolling boil. You're looking for tiny bubbles breaking the surface every few seconds. Simmer uncovered for 25-30 minutes, stirring occasionally with a wooden spoon. The rice should absorb all the liquid and become thick and creamy. If it looks too dry before then, add 1-2 tablespoons water at a time. You want the texture of thick pudding, not dry rice.
🍳 Step 2: Infuse with Spices and Citrus
While the rice mixture cooks, prepare your spice blend by whisking together 2 teaspoons ground cinnamon, 1 teaspoon lemon zest, and 0.25 teaspoon salt in a small bowl. Once the rice reaches that creamy consistency, remove it from heat and stir in this spice mixture along with 1 tablespoon vanilla extract and 0.5 teaspoon orange blossom water. The citrus and floral notes will brighten the rich, spiced profile.
Here's the thing—don't rush this step. Let the mixture sit off heat for 10 minutes while you prepare the next components. This resting time allows the flavors to meld completely. The cinnamon should perfume the air, and you'll see those tiny zest particles distribute evenly throughout the creamy base.
🍳 Step 3: Create the Egg-Butter Custard Layer
In a separate bowl, whisk the 2 whole eggs until frothy. Then, using a heatproof spatula, gently fold in 4 tablespoons cold cubed unsalted butter until fully incorporated. This creates a silky custard that will bind with your rice mixture. The butter should melt smoothly—if you see any lumps, strain the mixture through a fine-mesh sieve to ensure a velvety texture.
Temper the egg mixture by slowly ladling in about 1 cup of the hot rice mixture while whisking constantly. This prevents scrambling. Then, gradually pour the tempered egg mixture back into the remaining rice mixture, whisking continuously. Return the entire mixture to the saucepan and cook over low heat for 5-7 minutes, stirring constantly, until it thickens to a pudding-like consistency that coats the back of a spoon.
🥘 Step 4: Set the Arroz Doce
Pour the custard mixture into a 9-inch round baking dish or similar shallow container. Smooth the top with a spatula, then cover with plastic wrap pressed directly onto the surface. This prevents a skin from forming while it sets. Refrigerate for at least 4 hours, preferably overnight—this is crucial for achieving that perfect Portuguese texture.
I know it seems like a long wait, but trust me: the longer it chills, the more silky and less grainy your arroz doce will be. The edges should pull away slightly from the dish when ready, and the center should still have a slight wobble when gently shaken. If you're impatient, you can speed this up by placing the covered dish in the freezer for 2 hours, but the texture won't be quite as refined.
🔪 Step 5: Serve with Toasted Almonds
Before serving, toast the 0.5 cup toasted sliced almonds in a dry skillet over medium heat for 2-3 minutes until golden and fragrant. Spread them evenly over the chilled arroz doce just before serving. The warm almonds provide a delightful contrast to the cool, creamy rice pudding.
Slice into wedges or serve directly from the dish. Each spoonful should deliver that perfect balance of cinnamon warmth, citrus brightness, and creamy texture. For extra authenticity, serve with a dusting of additional cinnamon or a drizzle of caramel sauce on the side. The almonds should be crispy enough to provide texture against the silky rice—this is what makes Portuguese arroz doce truly special.
Pro Tips For Making Arroz Doce Portuguese Sweet Rice
- Simmer Slow and Steady: I learned this the hard way—boiling the milk too hard curdles it faster than you can say "arroz doce." Keep the heat low once the milk is simmering, and stir occasionally. You’re not making a sauce; you’re building a custard. If the milk starts to dance too much, drop the heat even lower—this isn’t a race.
- Toast the Rice First: Skip the raw rice straight into the milk, and you’ll end up with a gluey mess. Toast the short-grain rice in a dry pot over medium heat for 2-3 minutes until it smells nutty and the edges turn translucent. This step makes all the difference—it prevents grittiness and helps the rice absorb the milk like a sponge.
- Weigh the Sugar Precisely: Eyeballing sugar in this recipe is a gamble. Too little, and your arroz doce will taste bland; too much, and it’ll turn into syrup. Use a kitchen scale for accuracy—aim for about 1 cup (200g) of sugar per 1 cup (200g) of rice. If you’re in a pinch, pack the sugar tightly into a measuring cup, but don’t tap it down.
- Strain the Milk: Whole milk can have tiny particles that make the final texture grainy. After heating the milk, strain it through a fine-mesh sieve lined with cheesecloth or a coffee filter into your pot. It’s a little extra work, but the result is silky smooth—no one wants to bite into a rice pudding with a mouthful of milk solids.
Pro cooking tips for great arroz doce portuguese sweet rice
Low-Temp Simmering
Your arroz doce succeeds or fails based on this one technique: low-temperature simmering. The rice needs to cook gently at barely bubbling—think of it like a whisper, not a shout. I use a thermometer to keep it between 170-180°F (about 77-82°C). Too hot, and the rice grains will harden; too cool, and it won’t thicken properly. Stir occasionally with a wooden spoon to prevent scorching at the bottom. This patience pays off with that signature Portuguese creaminess. 🌡️
Egg Tempering
This is where many home cooks mess up—never add raw eggs to hot milk! Instead, temper them by slowly mixing in 1 cup of hot rice mixture while whisking constantly. The goal is to raise the eggs’ temperature gradually to 160°F before combining. I like to use a heatproof spatula for this step to avoid splashing. Once tempered, the eggs blend seamlessly, creating that luscious custard texture without curdling. 🥚
Spice Infusion
For authentic flavor, infuse the cinnamon and lemon zest while the mixture cooks. After removing the rice from heat, let it sit off the stove for 10 minutes—this lets the spices meld into the creamy base. I also add orange blossom water here for that signature floral note (though it’s optional). Pro tip: Use Ceylon cinnamon if possible—it’s sweeter and less bitter than cassia. The zest should be finely grated to avoid graininess. 🍃
Texture Control
The key to silky arroz doce is straining the final mixture through a fine-mesh sieve before setting. This removes any lumps from the butter or eggs, ensuring a velvety finish. If you skip this, you’ll end up with a slightly grainy texture. After pouring into the dish, press plastic wrap directly onto the surface to prevent skin formation. The longer it chills (overnight is best), the smoother it becomes—patience is your friend here. ❄️
Almond Toasting
Don’t just toss raw almonds on top—they’ll be bland and soggy. Toast them in a dry skillet over medium heat for 2-3 minutes until golden and fragrant. Watch closely to avoid burning! The heat brings out their natural oils, creating that perfect crunch. Sprinkle them just before serving so they stay crispy. For extra flair, I like to lightly crush half of them before toasting for a mix of textures. 🥜
Make-Ahead Magic
This dessert tastes even better the next day as the flavors deepen. Store it in an airtight container in the fridge for up to 5 days. To reheat, warm gently in the microwave with a splash of milk or on the stovetop over low heat. If it thickens too much, stir in 1-2 tablespoons of warm milk to restore creaminess. The almonds stay crispy for about 3 days if stored separately, but I always toast fresh ones before serving. 📅
Nutrition facts
Frequently asked questions
Can I make arroz doce without eggs?
Yes! For an egg-free version, replace the 2 eggs with 2 tablespoons cornstarch mixed with 2 tablespoons water. Stir this into the hot rice mixture after the initial simmer and cook for 5-7 minutes until thickened. The texture will be slightly lighter but still creamy. For extra richness, add 1 extra tablespoon butter at the end.
Why did my arroz doce turn out grainy?
Graininess usually happens from one of three things: overcooking the rice, not straining the final mixture, or using long-grain rice. Always use short-grain rice like Arborio, simmer gently (not boil), and strain through a fine-mesh sieve before setting. The longer it chills (overnight is best), the smoother it becomes. If it's already set, blend briefly with a hand mixer to break up any texture.
How do I store leftover arroz doce?
Store in an airtight container in the fridge for up to 5 days. To reheat, warm gently in the microwave with a splash of milk or on the stovetop over low heat, stirring occasionally. If it thickens too much, whisk in 1-2 tablespoons warm milk to restore creaminess. Keep toasted almonds separate if possible—they stay crispy for 3 days when stored in a sealed container.
What's the difference between Portuguese arroz doce and Spanish arroz con leche?
While both are creamy rice puddings, Portuguese arroz doce is spicier (with cinnamon and often citrus zest) and uses more sugar for a richer, firmer texture. Spanish arroz con leche is typically lighter, with less sugar and sometimes vanilla or lemon peel. The Portuguese version also frequently includes toasted almonds on top, while Spanish versions often use cinnamon sticks for infusion rather than ground cinnamon.
Can I use coconut milk instead of dairy milk?
For a dairy-free version, replace the 4 cups whole milk with 3 cups coconut milk (the extra thickness from coconut milk compensates). Use 1 cup water to make up the difference. The flavor will be subtly different—less creamy and more coconut-forward—but still delicious. Reduce sugar slightly (1.25 cups) since coconut milk is naturally sweet. The texture will be slightly lighter but still satisfying.
