Wash and soak the rice for 30 minutes in water, drain and keep aside.
Heat ghee in a deep bottomed pan, add bay leaves, cardamom, cinnamon, cloves, peppercorn, and star anise, sauté till the spices release their aroma.
Add sliced onions and sauté on low heat until translucent.
Add finely chopped ginger garlic ( or you can even add ginger garlic paste), sauté until the raw aroma of ginger garlic is gone.
Add chopped tomatoes, sauté on low heat until it turns mushy.
Add all the chopped vegetables and saute for a minute.
Add all the spices on low heat and mix well.
Add the washed and drained rice and sauté gently for about a minute taking care not to break the rice grains.
Add 2 cups of water/vegetable stock
Add salt to season and stir again. Check the seasoning by tasting the water, it should taste salty, if not you may need to add a little more salt. Let the rice cook with the lid covered on low heat. It takes about 10 minutes
Once cooked, let it sit undisturbed for 10-15 minutes, then gently fluff with a fork.
Garnish with cilantro (optional). Serve with raita/any curry of your choice or simply relish it as it is.