Heat 2 tablespoon oil in a pan over medium-high heat. Once the oil is hot, add cloves and cinnamon and sauté for 2-3 seconds.
Add onions, tomatoes, ginger-garlic paste, cashews, and dried red chilies, and cook for 5 minutes, stirring a few times.
Remove the pan from the heat and let the mixture cool down for 10 minutes. Transfer the onion-tomato mixture to a blender along with ½ cup of water.
Blend until smooth.
Heat 2 tablespoon oil in the same pan over medium heat. Add Kashmiri red chili powder and saute for 2-3 seconds.
Add the onion and tomato paste to the pan. Stir in yogurt, turmeric powder, coriander powder, garam masala, and salt.
You can also add 1 tablespoon of chana masala powder at this stage for an even more flavorful curry.
Cover the pan and cook for 8-10 minutes until the oil starts to separate on the sides of the pan. Stir a few times when cooking.
Mix in the boiled chickpeas and ½ cup of water. Cover and cook for 10–15 minutes.
Mash a few chickpeas with the back of the ladle. It naturally thickens gravy.
Add Kasuri methi, heavy cream, and butter. Simmer gently for 5 minutes. Add some hot water if the curry is too thick for your liking. Check for salt and add more if needed.
Do not boil aggressively after adding cream; this keeps the texture silky.
Serve hot.
Notes
You can either soak and cook dried chickpeas in a pressure cooker or an Instant Pot, or use canned chickpeas. If using canned chickpeas, make sure to drain and rinse them.You can add some cubed paneer for extra richness.