Wash and soak basmati rice for 20 minutes, then drain.
Heat ghee or oil in a pressure cooker. Add cumin seeds, bay leaf, cloves, cinnamon, and cardamom.
Add sliced onions and sauté until golden brown.
Add ginger-garlic paste and tomatoes, cook until soft.
Add all chopped vegetables and sauté for 2–3 minutes.
Add salt, garam masala, and rice. Mix gently.
Pour water and stir well.
Pressure cook for 1 whistle on medium flame or cover and cook until rice is done.
Let it rest for 5 minutes before fluffing with a fork.
Serve hot with raita or pickle.