Saffron-scented rice pudding with rose water and toasted almonds on top. That's what you get when you simmer short-grain rice low and slow until it turns creamy and golden.

The pot does all the heavy lifting. You just need to stir every few minutes and wait for the rice to break down into silk.
Make this for Persian New Year celebrations or weekend mornings when you want something that feels special without much active work.
Persian Saffron Milk Rice (Sholeh Zard) is a creamy rice pudding flavored with saffron threads and rose water. Low simmering and frequent stirring prevent sticking while the rice releases starch to thicken naturally. The pudding sets as it cools and works for festive meals or budget-friendly desserts.
Why This Recipe Works
Saffron needs time to bloom in warm water before it hits the rice. That 15-minute steep pulls out the golden color and floral aroma that make Sholeh Zard distinct from plain rice pudding.
Remember it later
Planning to try this recipe soon? Save it for a quick find later!
Prep Time
10 min
Cook Time
45-50 min
Total Time
55-60 min
Servings
6 servings
Difficulty
Medium
Category
Dessert
Quick Tip
Cook slow, stir often to prevent sticking
Best For
Weeknight | Entertaining | Special occasions
Five reasons this method works:
- Short-grain rice releases more starch - creates the creamy pudding texture without adding cornstarch or eggs
- Low simmering at 180-200°F - keeps rice grains intact while they soften and prevents scorching on the pan bottom
- Adding sugar after rice softens - prevents hard grains and lets sugar dissolve evenly into the liquid
- Stirring every 5 minutes - scrapes up any rice that tries to stick and distributes heat throughout the pot
- Cooling uncovered first - lets excess steam escape before covering so condensation doesn't thin the pudding
What You'll Need

Short-grain rice and saffron threads are the only non-negotiables here. If you're making a homemade sandwich recipe for brunch, this dessert rounds out the meal with something sweet and fragrant that doesn't require last-minute attention.
- arborio or short-grain rice
- water
- sugar
- saffron threads
- rose water
- cardamom powder
- butter or ghee
- slivered almonds
- ground cinnamon
- pistachios
Ingredient Details
- Short-grain rice (arborio or sushi rice)
Rinse 2-3 times until water runs clear to remove excess surface starch that can make pudding gummy - Saffron threads
Steep ¼ teaspoon in 2 tablespoons hot water for 15 minutes before adding - don't skip this or flavor stays muted - Sugar
Add gradually after rice softens (about 30 minutes in) and stir constantly until fully dissolved - Rose water
Start with 1 tablespoon and taste - rose water strength varies by brand and too much tastes soapy - Butter or ghee
Stir in at the end for glossy finish - ghee adds nuttier flavor, butter works fine if that's what you have - Slivered almonds
Toast lightly in a dry pan before garnishing for deeper flavor and crunch - Ground cinnamon
Dust on top right before serving - add too early and it sinks into the pudding and looks muddy
Ingredient Swaps
Arborio rice is closest to traditional Persian short-grain rice, but sushi rice works almost as well. If you're making this dairy-free, unsweetened almond or coconut milk replaces regular milk with only a slight texture difference.
Four practical swaps:
- Milk → unsweetened almond or coconut milk - use the same amount, expect slightly thinner consistency and milder flavor (dairy-free)
- Sugar → honey or maple syrup - reduces to ¾ cup, adds darker color and different sweetness profile (sweetener swap)
- Rose water → orange blossom water - same floral vibe with citrus undertone, use slightly less to start (flavor variation)
- Slivered almonds → chopped walnuts or hazelnuts - changes texture and taste but still adds crunch and richness (budget garnish)
Arborio Rice
Works for: traditional creamy texture, widely available, consistent results
Skip if: you want firmer grains or have only long-grain rice on hand
Sushi Rice
Works for: similar starch content, slightly stickier texture, easy to find
Skip if: you prefer less clingy pudding or want exact traditional texture
Basmati Rice
Works for: what you already have, distinct aroma, less expensive
Skip if: you want creamy pudding - long-grain stays separate and won't thicken properly
Instructions
The whole process takes about 55 minutes with most of that being low simmering. You'll stir every 5 minutes to scrape the bottom and check thickness.
Rinse 1 cup short-grain rice under cold water 2-3 times until water runs clear. Combine rice and 4 cups water in a heavy-bottom saucepan. Bring to a boil over medium-high heat, then reduce to low simmer. Cook uncovered for 30 minutes, stirring every 5 minutes. Rice should start breaking down and liquid should reduce by half.
While rice cooks, steep ¼ teaspoon saffron threads in 2 tablespoons hot water in a small bowl. Let sit for 15 minutes. The water turns deep golden and the saffron blooms fully. Add steeped saffron (threads and liquid) to the rice after the first 15 minutes of cooking.
After 30 minutes, add ¾ cup sugar gradually, stirring constantly. Sprinkle in a few tablespoons at a time and stir until each addition dissolves before adding more. Continue simmering on low for another 10-15 minutes. Pudding thickens as sugar dissolves and rice releases more starch.
Stir in 1 tablespoon rose water, ¼ teaspoon cardamom powder (if using), and 2 tablespoons butter or ghee. Mix thoroughly and cook for 2 more minutes. Pudding should coat the back of a wooden spoon and hold its shape when you draw a line through it. If too thin, simmer uncovered for 3-5 more minutes.
Remove from heat and pour into a shallow serving dish or individual bowls. Let cool uncovered for 10 minutes, then cover and refrigerate for at least 1 hour before serving. Garnish with toasted slivered almonds, chopped pistachios, and a dusting of ground cinnamon right before serving.
What to Serve With It
Sholeh Zard sits on the sweeter end of the dessert spectrum, so you need something tangy or fresh to balance it. For complete belgian waffles meal ideas that work with similar flavor profiles, pair this with mint tea or unsweetened yogurt to cut through the richness.
| Side Dish | Prep | Why It Works | How to Serve |
|---|---|---|---|
| Mint tea | Easy | Refreshing herbal notes balance sweet pudding and aid digestion | Brew hot and serve alongside in small glasses |
| Fresh berries | Easy | Tart acidity cuts through creamy sweetness and adds color contrast | Scatter raspberries or sliced strawberries on top before serving |
| Unsweetened yogurt | Easy | Tangy creaminess provides savory contrast without adding more sugar | Dollop on the side or swirl into individual portions |
| Light fruit salad | Easy | Fresh fruit keeps meal light and complements floral rose water | Serve in small bowls before or after pudding |
| Cardamom spiced cookies | Medium | Warm spice echoes saffron aroma and adds crunchy texture | Arrange on plate next to pudding or serve with tea |
Three ways to serve it:
- Chilled for summer - refrigerate for 2+ hours and top with cold rose syrup drizzle and pistachios
- Warm for winter - serve straight from the stove with toasted almonds and a pinch of cinnamon
- Meal prep dessert - portion into jars, refrigerate up to 4 days, garnish fresh before eating
Store and Reheat
Sholeh Zard thickens as it cools, so expect a firmer texture after refrigeration. You can thin it with a splash of warm milk if needed when reheating.
| Method | Time | Best For |
|---|---|---|
| 🍳 Stovetop | 5-7 min on low heat | Gentle reheating without texture separation or burning |
| 📦 Microwave | 1-2 min medium power | Quick warm up with stirring midway to prevent hot spots |
| 🔥 Oven | 10 min at 325°F | Even reheating for larger portions in oven-safe dish |
For best results when storing:
- Use shallow airtight containers - pudding cools faster and more evenly, reducing condensation buildup
- Press plastic wrap directly on surface - prevents skin from forming on top during refrigeration
- Refrigerate within 2 hours of cooking - keeps pudding food-safe and preserves texture quality
- Stir gently before serving cold - redistributes any liquid that separated during storage
- Add garnishes fresh each time - toasted nuts turn soggy if stored with pudding, cinnamon streaks if mixed in early
Frequently Asked Questions
Yes, make it up to 4 days ahead and store in an airtight container in the fridge. The pudding thickens as it cools, so you may need to stir in a tablespoon of warm milk before serving if it gets too stiff.
Cook for 45-50 minutes total at a low simmer, stirring every 5 minutes. The pudding is done when it coats the back of a spoon and holds a line when you draw through it with your finger.
No, basmati is long-grain and won't release enough starch to create the creamy pudding texture. Stick with arborio, sushi rice, or another short-grain variety that breaks down as it cooks.
If too thin, continue simmering uncovered to evaporate excess liquid. If too thick, stir in warm milk or water one tablespoon at a time until you reach the right consistency.
Use a heavy-bottom saucepan and maintain a low simmer around 180-200°F throughout cooking. Stir every 5 minutes, scraping the bottom each time to prevent rice from sticking and scorching.

Persian Saffron Milk Rice (Sholeh Zard)
Ingredients
Equipment
Method
- Rinse 1 cup short-grain rice under cold water 2-3 times until water runs clear. Combine rice and 4 cups water in a heavy-bottom saucepan. Bring to a boil over medium-high heat, then reduce to low simmer. Cook uncovered for 30 minutes, stirring every 5 minutes. Rice should start breaking down and liquid should reduce by half.1 cup short-grain rice, 4 cups water
- While rice cooks, steep ¼ teaspoon saffron threads in 2 tablespoons hot water in a small bowl. Let sit for 15 minutes until the water turns deep golden and saffron blooms fully. Add steeped saffron (threads and liquid) to the rice after the first 15 minutes of cooking.0.25 teaspoon saffron threads
- After 30 minutes, add ¾ cup sugar gradually, stirring constantly. Sprinkle in a few tablespoons at a time and stir until each addition dissolves before adding more. Continue simmering on low for another 10-15 minutes until pudding thickens and rice releases more starch.0.75 cup sugar
- Stir in 1 tablespoon rose water, ¼ teaspoon cardamom powder (if using), and 2 tablespoons butter or ghee. Mix thoroughly and cook for 2 more minutes. Pudding should coat the back of a wooden spoon and hold its shape when you draw a line through it. If too thin, simmer uncovered for 3-5 more minutes.1 tablespoon rose water, 0.25 teaspoon cardamom powder, 2 tablespoons butter or ghee
- Remove from heat and pour into a shallow serving dish or individual bowls. Let cool uncovered for 10 minutes, then cover and refrigerate for at least 1 hour before serving. Garnish with toasted slivered almonds, chopped pistachios, and a dusting of ground cinnamon right before serving.2 tablespoons slivered almonds, to taste ground cinnamon, as needed pistachios
Notes
- Use a heavy-bottom saucepan to distribute heat evenly and prevent burning.
- Add sugar gradually after rice softens to prevent clumping.
- Toast nuts before garnishing to maintain crunch and flavor.




