Vegetarian biryani
A fragrant, layered vegetable biryani with saffron, spiced vegetables and crisp onions — perfect for dinner or a celebratory feast.
This vegetarian biryani layers fragrant, spiced vegetables with par-cooked basmati and a saffron-scented finish — celebratory without the faff. It’s the sort of dish you make when you want something impressive to feed guests, or simply to elevate a midweek dinner.
The trick is in a gentle ‘dum’ (steaming) and keeping the rice separate: soak briefly, par-cook, then steam with the vegetables so every spoonful has texture and perfume.
Ingredients
- 300 g Basmati rice
- 1.2 l Water — for soaking and boiling rice
- 10 ml Salt — split between rice water and vegetables
- 30 ml Vegetable oil
- 20 g Ghee — for flavour and finishing
- 2 Brown onion — one sliced thin for frying, one chopped
- 4 Garlic cloves — finely chopped
- 30 g Fresh ginger — grated
- 2 Green chillies — split lengthways
- 2 Tomatoes — roughly chopped
- 150 g Plain yoghurt
- 5 ml Turmeric
- 5 ml Ground cumin
- 5 ml Chilli powder
- 5 ml Garam masala
- 5 ml Ground coriander
- 1 Cinnamon stick
- 2 Bay leaves
- 4 Green cardamom pods
- 4 Cloves
- 1 Star anise
- 10 Saffron threads — threads, to bloom in warm milk
- 50 ml Milk — warmed for saffron
- 1 Aubergine — cut into 2cm pieces
- 1 Courgette — cut into 2cm pieces
- 150 g Carrot — sliced
- 200 g Cauliflower florets
- 150 g Chestnut mushrooms — halved or quartered
- 100 g Frozen peas — no need to defrost
- 200 g Potato — peeled and cubed
- 30 g Fresh coriander — chopped
- 20 g Fresh mint — chopped
- 1 Lemon — juice only
- 150 ml Vegetable stock — for simmering the vegetables
Equipment
- Sieve or fine-mesh colander
- Large heavy-based lidded pan or casserole
- Small jug for saffron milk
Instructions
Rinse the basmati rice under cold water in a sieve until the water runs clear, then transfer to a bowl and cover with 600 ml of the Water. Leave to soak for 30 minutes.
Warm the Milk in a small jug (do not boil), add the Saffron threads and leave to bloom for 15 minutes so the milk turns golden and fragrant.
Meanwhile bring a large saucepan of the remaining Water to a rolling boil with 1 tsp Salt, Cinnamon stick, Bay leaves, Green cardamom pods, Cloves and Star anise. Drain the soaked rice and add to the boiling water. Cook uncovered for 5–6 minutes until the grains are about 70% cooked, then drain in a sieve and set aside.
Heat the Vegetable oil in a large heavy-based pan over a medium heat. Add the thinly sliced Brown onion and fry for 8–10 minutes until soft and golden. Remove a generous handful of the fried onion for garnish and leave to drain on kitchen paper.
Add the chopped Brown onion, Garlic cloves, Fresh ginger and Green chillies to the pan with a pinch of Salt. Fry for 2 minutes, then stir in Tomatoes, Turmeric, Ground cumin, Chilli powder, Ground coriander and Garam masala. Cook for 5–7 minutes until the tomatoes have broken down and the spices smell toasted.
Stir in the Aubergine, Courgette, Carrot, Cauliflower florets, Chestnut mushrooms and Potato. Mix well, then add the Plain yoghurt and the Vegetable stock plus the remaining 1 tsp Salt. Simmer gently, uncovered, for 10–12 minutes until the vegetables are just tender.
Fold in the Frozen peas, most of the Fresh coriander and Fresh mint (reserve a little for garnish), and squeeze in the Lemon juice. Stir in 1 tbsp of the Ghee and check seasoning.
To assemble: spread half the vegetable mixture across the base of a clean heavy-based lidded pan. Top with half the par-cooked Basmati rice. Sprinkle half the saffron milk over the rice, scatter some chopped Fresh coriander, Fresh mint and some of the reserved fried Brown onion. Repeat with the remaining vegetables and rice, finish with the remaining saffron milk and dots of Ghee.
Cover the pan with its lid, reduce to the lowest possible heat and leave to steam (dum) for 25 minutes. If your pan conducts heat strongly, use a heat diffuser or sit the pan over a very low simmer.
Remove the pan from the heat and leave, still covered, for 15 minutes to rest.
Gently fluff the biryani with a fork, transfer to a large dish and garnish with the reserved fried Brown onion, the remaining Fresh coriander and Fresh mint. Serve with lemon wedges.
Tips
- Soak the rice and drain well — that’s the single best way to stop the grains turning gummy.
- If you don’t have saffron, a pinch of turmeric will add colour but the flavour will be different.
- Make the fried onions ahead and store in an airtight jar — they keep for several days and add instant crunch.
- Use a heavy-based lidded pan and the lowest possible heat for dum; a heat diffuser helps prevent scorching.
- Leftovers keep well refrigerated for 3 days and reheat gently with a splash of water in a covered pan.
Substitutions
Plain yoghurt → Coconut yoghurt, same quantity
Noticeably differentGhee → Vegetable oil, same quantity
Stays closeBasmati rice → Long-grain white rice, same quantity but cook times may change
Noticeably differentFrozen peas → Fresh peas, use 120 g
Stays close
Nutrition
Per serving · estimated
- 413
- Calories
- 10 g
- Protein
- 64 g
- Carbs
- 13 g
- Fat
- 6 g
- Fibre
- 6 g
- Sugar
- 650 mg
- Sodium
FAQ
Can I make this biryani vegan?
Yes — swap the ghee for vegetable oil and use a dairy-free yoghurt (see substitutions). The result will be slightly different in richness but still excellent.
How do I stop the rice sticking to the bottom?
Use a heavy-based pan, very low heat for the dum step and a heat diffuser if possible. Do not lift the lid while it steams.
Can I assemble ahead and cook later?
Yes — layer the biryani in the pan, cover and refrigerate for up to 24 hours. Bring to room temperature for 30 minutes before steaming on a low heat for 30–35 minutes.
How should I reheat leftovers?
Reheat gently in a covered pan with a splash of water over a low heat for 8–10 minutes, or microwave covered, stirring halfway.
Community Photos
No photos yet
Be the first to share your creation!