In a large pot, heat oil.
Add bay leaf, cinnamon, cardamom, cloves and black peppercorns.
Fry for 1 minute
Add onion and chiles. Saute until onions are softened.
Add ginger garlic paste and fry for 1 minute.
Add tomatoes and cook on high heat for about 3 minutes until liquid is released from tomatoes and it starts to boil.
Add chopped vegetables and fry 2-3 minutes.
Add chile powder and turmeric. Stir to combine.
Add 2 ½ cups of water and salt. Bring to a boil.
Add rice, reduce to a simmer, cover and cook until rice is cooked and all liquid is absorbed – about 15-20 minutes.
Add cilantro and fluff with a fork.
Adjust salt, if necessary.