Heat oil in a heavy-bottomed pan over medium heat. Add bay leaf, cloves, cardamom, and cinnamon stick. Sauté for 30 seconds until fragrant.
Add chopped onion and cook until golden brown, about 5-6 minutes.
Add chopped tomato and cook until soft and mushy, about 3-4 minutes.
Add red chili powder, coriander powder, garam masala powder, and turmeric powder. Mix well and cook for 1 minute.
Add sliced mushrooms and sauté for 5-6 minutes until they release their moisture and start to brown.
Meanwhile, blend all masala paste ingredients with 2-3 tablespoons of water to form a smooth paste.
Add the masala paste to the mushrooms and cook for 2-3 minutes, stirring continuously.
Add ½ cup water, bring to a boil, then reduce heat and simmer covered for 14-15 minutes until the curry thickens.
Garnish with fresh coriander leaves and serve hot.