Once the oil is hot, add cloves, black peppercorns, green cardamom and black cardamom in it and fry for a few seconds.
Add onion and fry until it turns translucent.
Add ginger garlic paste and fry until onion turns golden brown.
Add tomato and tomato puree and cook for 2-3 minutes.
Add coriander powder, red chilli powder, turmeric powder, garam masala powder, black pepper powder and salt and fry until oil starts to separate from the sides.
Add mushroom and capsicum and mix well.
Cover the pan and cook the curry on low heat for 10-12 minutes.
Stir once or twice in between.
If the curry is too dry, add some water to it.
Add lemon juice and mix well.
Serve hot with any Indian bread.
Notes
You can add paneer, baby corn etc to this curry if you wish to.