Firni (فرنی) — Afghan Milk Pudding with Cardamom and Pistachio
Firni is a beloved Afghan milk pudding thickened with cornstarch and perfumed with cardamom. It’s commonly served chilled at family gatherings and festive tables, finished with pistachios for gentle crunch.

Printable Recipe Card
Servings: 6 · Total: 25 min · Difficulty: easy
Ingredients (quick list)
- 900 ml Whole milk (Use fresh, full-fat milk for best texture)
- 55 g Cornstarch (Sift if lumpy)
- 90 g Granulated sugar
- 1.5 tsp Green cardamom (Finely ground; or grind seeds from about 10 pods)
- 10 ml Rose water (Optional but traditional in many homes)
- 1 tsp Fine sea salt (Balances sweetness)
- 30 g Pistachios (Shelled and finely chopped)
Steps (summary)
- Set out 6 small serving bowls or glasses and keep them nearby so you can portion the pudding while it is hot. In a small bowl,…
- Pour the remaining 750 ml milk into a heavy saucepan and add the sugar and salt. Warm over medium heat, stirring for 2 minutes,…
- Reduce the heat to medium-low and whisk the cornstarch slurry again, then slowly stream it into the saucepan while whisking con…
- Add the ground cardamom and cook for 1 minute, whisking to bloom the spice without scorching the milk. Turn off the heat, then…
- Immediately divide the hot firni evenly among the bowls, about 170–180 ml per serving. Let the bowls cool uncovered at room tem…
- Before serving, sprinkle each portion with chopped pistachios, using about 5 g per bowl for a consistent finish. Serve cold, an…
Cultural Background
Firni is a staple Afghan sweet, often made for guests and celebrations because it is economical yet elegant. Served chilled and garnished with nuts, it reflects the region’s love of dairy desserts scented with cardamom and floral waters.
Equipment
💡 Tips
- For the silkiest firni, keep the heat at medium-low once the cornstarch goes in and whisk continuously for the full 6–8 minutes.
- If you prefer a firmer, sliceable set, increase cornstarch to 65 g while keeping the milk the same.
- Bloom cardamom briefly in the hot pudding, then add rose water off heat so the floral notes don’t evaporate.
⚠️ Common Mistakes
❌ Adding cornstarch directly to hot milk without dissolving it first
✅ Fix: Always whisk cornstarch with cold milk into a smooth slurry, then stream it in while whisking.
❌ Boiling the pudding aggressively after thickening
✅ Fix: Keep heat at medium-low and whisk; once thick, cook only briefly to avoid graininess and scorching.
❌ Adding rose water while the pot is still boiling
✅ Fix: Turn off the heat first, then stir in rose water so the aroma stays fragrant.
🧊 How to Store
Refrigerate firni covered for up to 3 days to prevent it from absorbing fridge odors. Serve chilled; if it thickens too much, whisk 15–30 ml cold milk into the portion to loosen, or let it sit 10 minutes at room temperature before eating.
📅 Make Ahead
Firni is ideal for making ahead: cook, portion, and chill up to 24 hours before serving. Add pistachios right before serving so they stay crisp and bright green.
🍽️ Pairs Well With
- Green tea
- fresh fruit
- sheer khurma-style dates
- saffron cookies.
Regional Variations
- Some Afghan households garnish with slivered almonds and a light dusting of ground cardamom instead of pistachios.
- A richer party version replaces 150 ml milk with 150 ml heavy cream for a more luxurious mouthfeel.
- In some families, a pinch of saffron steeped in 15 ml hot milk is added for color and aroma.
Ingredients
- 900 mlWhole milk (Use fresh, full-fat milk for best texture)
- 55 gCornstarch (Sift if lumpy)
- 90 gGranulated sugar
- 1.5 tspGreen cardamom (Finely ground; or grind seeds from about 10 pods)
- 10 mlRose water (Optional but traditional in many homes)
- 1 tspFine sea salt (Balances sweetness)
- 30 gPistachios (Shelled and finely chopped)
🔄 Substitutions
- Whole milk→ 2% milk
- Pistachios→ Almonds
- Rose water→ Orange blossom water
Instructions
- 1
Set out 6 small serving bowls or glasses and keep them nearby so you can portion the pudding while it is hot. In a small bowl, whisk the cornstarch with 150 ml of the milk until completely smooth and no dry pockets remain.
- 2
Pour the remaining 750 ml milk into a heavy saucepan and add the sugar and salt. Warm over medium heat, stirring for 2 minutes, until the sugar fully dissolves and the milk is steaming but not boiling.
- 3
Reduce the heat to medium-low and whisk the cornstarch slurry again, then slowly stream it into the saucepan while whisking constantly. Keep whisking for 6–8 minutes until the mixture thickens to a smooth, glossy pudding that coats the back of a spoon.
- 4
Add the ground cardamom and cook for 1 minute, whisking to bloom the spice without scorching the milk. Turn off the heat, then whisk in the rose water for 15–20 seconds so the aroma stays bright.
- 5
Immediately divide the hot firni evenly among the bowls, about 170–180 ml per serving. Let the bowls cool uncovered at room temperature for 30 minutes, then cover and refrigerate for at least 3 hours until fully set and chilled.
- 6
Before serving, sprinkle each portion with chopped pistachios, using about 5 g per bowl for a consistent finish. Serve cold, and if a skin has formed, gently smooth the top with the back of a spoon before garnishing.
🪪 Recipe Passport
Cultural Background
Firni is a staple Afghan sweet, often made for guests and celebrations because it is economical yet elegant. Served chilled and garnished with nuts, it reflects the region’s love of dairy desserts scented with cardamom and floral waters.
Regional Variations
Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.
Nutrition per serving
Pairs well with
If you enjoyed this recipe, here are a few related Zaffaron recipes to try next.
Does your family make this differently?
Every family has their own version. Maybe your grandmother adds a secret ingredient, or your aunt has a completely different technique. Preserve your family's version — with their name on it, forever.
You Might Also Like

Afghan Seasonal Vegetable Polo (پلو افغانی فصل) — Fragrant layered rice with market vegetables
Afghan · Rice Dishes · 80 min

Halwa-e Aurd-e Sujee (حلوای آرد و سوجی) — Afghan Semolina Halwa with Cardamom
Afghan · Desserts · 40 min

Chainaki (چاینکی) — Afghan One-Pot Lamb and Vegetable Broth
Afghan · Stews · 130 min

Key Lime Pie (Key Lime Pie) — Florida Keys Citrus Custard Pie
American · Desserts · 50 min

Kutia (Кутя) — Ukrainian Christmas Wheat Berry Pudding
Ukrainian · Desserts · 105 min

Shakarob (Шакароб) — Tajik Tomato-Onion Bread Salad
Tajik · Salads · 25 min

Uzbek Plov (Oʻzbek palovi) — Lamb, Rice, Carrots, and Cumin Pilaf
Uzbek · Rice Dishes · 130 min

Persian Cold Pasta Salad (سالاد ماکارونی سرد) — Creamy chicken pasta salad for gatherings
Persian · Salads · 40 min
Reviews
Cooked this recipe?
Tap the stars to rate it — that's all it takes. A few words are welcome but optional.
No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.