Kerala Vegetable Biryani with Coconut Milk
A fragrant one-pot vegetarian biryani in the Kerala style: basmati rice simmered with creamy coconut milk, caramelized onions, mint, and garam masala, loaded with carrots, green beans, and peas and topped with ghee-fried cashews and raisins.
- Prep
- 25 min
- Cook
- 50 min
- Wait
- 40 min
- Total
- 1 hr 55 min
- Makes
- About 8 cups (6 generous servings)
Steps
Before you start
- Rinse and soak the rice at least 30 minutes before cooking; this is what keeps the grains long and unbroken.
- Shake the can of coconut milk well before measuring so the cream and liquid are evenly mixed.
- Chop all vegetables and aromatics before you turn on the heat; the masala steps move quickly.
- Use a heavy-bottomed pot with a tight-fitting lid (about 5 quarts / 4.7 L) so the rice steams evenly without scorching.
Soak rice, prep vegetables
- Rinse the basmati in a large bowl with cold water, swirling and draining 4–5 times until the water runs almost clear.
- Cover with fresh cold water and soak for 30 minutes.
- While it soaks, slice the onions, grate the ginger and garlic, slit the chilies, chop the tomato, mint, and cilantro, and dice the carrots and beans.
- Drain the rice thoroughly in a fine-mesh strainer for at least 10 minutes before cooking.
+ Show details− Hide details
Ready when: Soaked grains look opaque white and snap easily when pressed between your fingers
Tip: Drain the rice well; excess clinging water throws off the liquid ratio and makes the biryani mushy.
Fry cashews and raisins
- Set the pot over medium heat and melt 1 tablespoon of the ghee.
- Add the cashews and stir constantly for 2–3 minutes until golden.
- Add the raisins and stir for 20–30 seconds, just until they puff up.
- Scoop both onto a paper-towel-lined plate and leave the ghee in the pot.
+ Show details− Hide details
Ready when: Cashews are evenly golden brown and raisins are plump and glossy
Tip: Cashews keep browning off the heat, so remove them as soon as they are light golden.
Bloom spices, brown onions
- Add the remaining 3 tablespoons ghee to the pot.
- When it shimmers, add the cinnamon, cardamom, cloves, bay leaf, and fennel seeds and stir for 30 seconds until fragrant.
- Add the sliced onions and ½ teaspoon of the salt.
- Cook, stirring every minute or so, for 12–14 minutes until deep golden brown.
- Scoop out about one-third of the onions onto the plate with the cashews for garnish.
+ Show details− Hide details
Ready when: Onions are soft, deep golden brown, and slightly sweet-smelling, with a few darker edges
Tip: If the onions start to scorch before they soften, lower the heat and add a splash of water.
Cook the masala base
- Reduce heat to medium-low.
- Add the ginger, garlic, and green chilies and stir for 1 minute until the raw smell fades.
- Add the tomato and cook for 3–4 minutes, mashing it with your spoon, until it breaks down into a soft paste.
- Stir in the turmeric, chili powder, coriander, and garam masala and cook for 1 minute more.
+ Show details− Hide details
Ready when: Ghee separates and shimmers at the edges of the thick, jammy masala
Tip: Splash in 1–2 tablespoons water if the spices begin to stick; burnt ground spices turn bitter.
Sauté the vegetables
- Add the carrots, green beans, half of the mint, and half of the cilantro.
- Stir to coat in the masala and cook for 4–5 minutes.
- The vegetables should be just starting to soften but still firm.
- Stir in the frozen peas.
+ Show details− Hide details
Ready when: Carrots are bright and slightly tender at the edges but still firm in the center
Tip: Do not fully cook the vegetables now; they will finish cooking in the steam with the rice.
Add liquid and rice
- Pour in the coconut milk and water, then add the remaining 1½ teaspoons salt and the lemon juice.
- Stir well and raise heat to high.
- When the liquid boils, taste it; it should be well seasoned, slightly salty.
- Gently stir in the drained rice, spreading it into an even layer under the liquid, and bring back to a boil.
+ Show details− Hide details
Ready when: Liquid is at a full rolling boil and level is just barely above the rice
Tip: Do not stir again after the rice goes in; stirring breaks the grains and makes the biryani gummy.
Simmer covered
- Boil uncovered for 2 minutes.
- Then cover tightly (place a clean kitchen towel under the lid if it does not seal well), reduce the heat to the lowest setting, and cook undisturbed for 15 minutes.
+ Show details− Hide details
Ready when: All liquid is absorbed and small steam holes appear on the surface of the rice
Tip: Resist lifting the lid; escaping steam leaves the top layer of rice undercooked.
Rest off the heat
- Turn off the heat and leave the pot covered and undisturbed for 10 minutes so the steam redistributes and the rice firms up.
+ Show details− Hide details
Ready when: Rice grains are tender, separate, and no longer wet on the bottom
Fluff and garnish
- Remove the bay leaf and cinnamon stick if you like.
- Using a fork, gently fluff the rice from the edges inward, lifting from the bottom to mix the vegetables through.
- Fold in the remaining mint and cilantro.
- Serve topped with the reserved onions, cashews, and raisins.
+ Show details− Hide details
Ready when: Grains are long, separate, and lightly cream-colored with flecks of herbs and orange carrots
Tip: Serve with cucumber raita, papadums, or a spicy pickle for contrast.
Good to know
Tips
- Use aged basmati rice if possible; it absorbs more flavor and stays fluffier.
- Brown the onions patiently; they give the biryani its sweetness and color.
- Measure the liquid precisely. Canned coconut milk varies in thickness, so shake the can well.
- For a spicier biryani, leave in the chili seeds or add a third green chili.
Make ahead
Fry the cashews, raisins, and onions up to 1 day ahead and store them in the fridge. Chop the vegetables and herbs up to 1 day ahead. Soak and drain the rice just before cooking.
Storage & reheating
Room temperature: up to 2 hours. Fridge: cool completely, then store in an airtight container for up to 3 days. Freezer: up to 2 months in portions. Reheat in a covered pan or microwave with 1–2 tablespoons water per serving until steaming hot throughout.
Substitutions
- ghee or coconut oil → coconut oil. Makes the dish fully vegan and gives a more traditional Kerala flavor.
- green beans → cauliflower florets or diced potato. Cut potato into ½-inch cubes and add it with the carrots; both cook in the same time.
- Kashmiri chili powder → ½ tsp cayenne plus ½ tsp paprika. Gives similar color and heat if you cannot find Kashmiri chili powder.
- raw cashews → slivered almonds. Fry exactly the same way; they brown a little faster.
More biryani
See all →Find more like this
- Meal
- Dinner
- Cuisine
- South Indian
- Main ingredient
- Basmati RiceCarrots
- Method
- Stovetop
