
Roasted Cauliflower Biryani with Almonds
A fragrant, layered vegetarian biryani where roasted cauliflower florets are combined with saffron-infused basmati rice, caramelized onions, and toasted almonds. The rice steams in its own steam with aromatic spices, creating a complex, subtly sweet dish that's both elegant and deeply satisfying.
- Prep
- 25 min
- Cook
- 55 min
- Wait
- 20 min
- Total
- 1 hr 40 min
- Makes
- 4 servings (about 1½ cups each)
Steps
Before you start
- Preheat oven to 425°F (220°C)
- Soak saffron threads in ¼ cup hot water for at least 10 minutes
- Measure out all spices and slice onions before you begin cooking
- Use basmati rice that has been rinsed under cold water until the water runs clear
Roast the cauliflowerOven 425°F / 220°C
- Toss the cauliflower florets with 3 tablespoons (45 ml) of the vegetable oil, salt, and freshly ground black pepper on a large rimmed baking sheet (17×12 inches / 43×30 cm).
- Spread in a single layer.
- Roast at 425°F (220°C) for 30–35 minutes, stirring halfway through, until the florets are deeply golden brown and tender with crispy edges.
- Set aside and let cool slightly.
+ Show details− Hide details
Ready when: Florets are deep golden brown with crispy, caramelized edges
Tip: Don't crowd the pan; the cauliflower needs space to brown. If your baking sheet is small, roast in two batches.
Caramelize the onions
- While the cauliflower roasts, heat the remaining 2 tablespoons (30 ml) vegetable oil in the 5-quart pot over medium heat.
- Add the sliced onions and cook, stirring occasionally, for 15–18 minutes, until they are deep golden brown and sweet.
- Lower the heat to medium-low if they start to brown too quickly.
- Transfer half the caramelized onions to a small bowl and set both aside.
+ Show details− Hide details
Ready when: Onions are deeply golden brown, soft, and sweet-smelling
Tip: Patience is key—don't rush this step by raising the heat. Slow caramelization develops the deep, complex sweetness that defines a great biryani.
Toast the almonds
- In a small saucepan over medium heat, melt 1 tablespoon (15 ml) of the ghee.
- Add the sliced almonds and toast, stirring constantly, for 3–4 minutes until fragrant and lightly golden.
- Transfer to a clean plate and set aside.
+ Show details− Hide details
Ready when: Almonds are lightly golden and fragrant
Tip: Watch constantly—nuts burn quickly. Remove from heat as soon as golden to avoid bitterness.
Cook the rice base
- In the 5-quart pot with the onions still in it (there should be about half the batch remaining in the pot), add the cumin seeds and toast for 30 seconds until fragrant.
- Add the ginger-garlic paste and cook for 1 minute, stirring constantly, until the raw smell disappears.
- Pour in the 3.5 cups (840 ml) water and the saffron water (with steeped threads), then bring to a boil over high heat.
- Add the rinsed basmati rice, cardamom pods, cinnamon stick, and bay leaves.
- Stir once.
- Return to a boil, then reduce heat to medium-high and simmer, uncovered, for 6–7 minutes until the rice is mostly tender but still has a slight bite in the center.
- The water should be almost fully absorbed.
+ Show details− Hide details
Ready when: Rice grains are tender but still slightly firm; water is mostly absorbed
Tip: The rice should be slightly undercooked at this stage—it will finish cooking when the biryani is assembled and steamed.
Make the yogurt marinade
- In a medium bowl, whisk the yogurt with the roasted cauliflower florets, half of the reserved caramelized onions, salt, and black pepper to taste.
- Set aside.
Layer the biryani
- Return the pot to medium-low heat.
- Spoon the yogurt-cauliflower mixture evenly over the rice, gently folding it in just slightly with a large spoon or spatula—you want distinct layers, not completely mixed.
- Top with the remaining caramelized onions, then scatter the toasted almonds and fresh cilantro and mint (if using) over the top.
- Drizzle the remaining 2 tablespoons (30 ml) ghee over everything.
+ Show details− Hide details
Tip: The layers give biryani its signature texture—don't overmix, or you'll lose the effect.
Steam the biryani
- Cover the pot tightly with its lid.
- If the lid doesn't seal well, place a piece of aluminum foil over the pot, then put the lid on top.
- Reduce heat to low and steam for 10–12 minutes.
- You should hear gentle sizzling; if it's too silent, the heat is too low.
- If it's aggressively steaming, lower the heat further.
- The biryani is done when steam appears around the edges and a grain of rice is fully tender when tasted.
+ Show details− Hide details
Ready when: Gentle steam escapes around lid edges; rice grains are completely tender
Tip: A tight seal is crucial—if steam escapes freely, moisture evaporates and the rice won't finish cooking. If the bottom begins to brown, lower the heat immediately.
Rest and finish
- Remove from heat and let the biryani rest, covered and undisturbed, for 8 minutes.
- This allows the steam to distribute evenly and the flavors to fully settle.
- Using a fork, gently fluff the rice, breaking up any clumps.
- Taste and adjust salt and pepper as needed.
- Transfer to a serving platter or individual bowls.
+ Show details− Hide details
Tip: Never skip the rest—it's essential for perfect, fluffy rice and balanced flavor.
Good to know
Tips
- Rinsing the basmati rice removes excess starch and ensures fluffy, separate grains. Do this thoroughly under cold water.
- The saffron water should be a deep amber—steep it for the full 10 minutes in hot water to extract maximum color and flavor. Adding it to the cooking water infuses the entire dish with saffron's floral notes.
- For a spicier version, add ½ teaspoon of Kashmiri chili powder to the yogurt marinade or sprinkle a pinch over the cauliflower during roasting.
- Serve with a cooling raita (yogurt sauce with cucumber and cilantro) or a simple tomato-onion salad to balance the richness of the ghee and nuts.
Make ahead
You can prepare all components up to 4 hours ahead: roast the cauliflower, caramelize the onions, and toast the almonds. Store separately at room temperature. Steep the saffron in water 15 minutes before cooking. The rice must be cooked fresh, but this entire recipe can be completed within 100 minutes with minimal downtime.
Storage & reheating
Store covered in the refrigerator for up to 3 days. Reheat gently in a covered pot over low heat with a splash of water, stirring occasionally, until heated through (about 10 minutes). Do not freeze, as the texture of the rice suffers. Best served fresh on the same day.
Substitutions
- ghee or clarified butter → unsalted butter. Clarified butter will have a milder flavor but works well; use the same amount.
- saffron threads → 1 teaspoon turmeric powder mixed with ¼ cup hot water. Turmeric provides color and earthiness but lacks saffron's floral notes. This will produce a slightly different, but still delicious, biryani.
- raw almonds → raw or roasted cashews, pine nuts, or pistachios. Maintains the nut texture and richness. Use the same weight and toast in ghee the same way.
- plain whole-milk yogurt → Greek yogurt diluted with 2 tablespoons water. Greek yogurt is thicker; thinning it ensures even coating. Avoid flavored yogurts.
More biryani
See all →Find more like this
- Meal
- Dinner
- Cuisine
- Indian
- Main ingredient
- Basmati RiceCauliflower
- Method
- Oven
- Quick & Easy
- Make Ahead





