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)
Share

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.
  1. 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

    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.

  2. 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

    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.

  3. 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

    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.

  4. 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

    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.

  5. 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

    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.

  6. 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

    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.

  7. 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

    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.

  8. 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

    Ready when: Rice grains are tender, separate, and no longer wet on the bottom

  9. 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

    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
Main ingredient
Basmati RiceCarrots
Method
Stovetop

Reviews (0)