Begin by thoroughly rinsing the rice in cold water and soaking it.
Heat oil in a heavy-bottomed pot over medium-high heat.
Add cumin seeds, cardamom pods, cloves, cinnamon stick, and bay leaf. Sauté for a few seconds until fragrant.
Add sliced onions and sauté until they turn golden brown.
Add ginger paste and garlic paste and continue to sauté for 1-2 minutes.
Mix in coriander powder, cumin powder, garam masala powder, turmeric powder, and salt. Sauté for another 1-2 minutes.
Add cubed potatoes, sliced carrots, and green peas. Mix well and cook for 5-7 minutes until the vegetables are partially cooked.
Add 500ml of water to the pot, mix well, and bring to a boil. Reduce the heat to low, cover the pot with a lid, and let the vegetables simmer for 10-15 minutes or until they are fully cooked.
While the vegetables are cooking, in a separate pot, bring 1 litre of water to a boil. Add the soaked rice and parboil for 5-6 minutes until the rice is partially cooked. Drain the rice and set it aside.
Once the vegetables are fully cooked, layer the partially cooked rice on top of them in the pot.
Cover the pot with a tight-fitting lid, reduce the heat to the lowest setting, and let the biryani cook for 15-20 minutes or until the rice is fully cooked and fluffy.
Once done, remove the pot from the heat and let it rest for 10 minutes.
Fluff the rice with a fork and garnish with chopped coriander leaves before serving.
Serve the biryani hot with raita or a side salad.