In a frying pan, add the cinnamon sticks, cloves, green cardamom, black peppercorns, cumin seeds, coriander seeds, black cardamom, Kashmiri red chillies, dried red chillies, bay leaves, and fennel seeds. Mix well and dry roast on low flame for about 2-3 minutes, until fragrant.
Let the roasted spices cool down. Once cooled, transfer them to a grinder jug and grind into a fine powder. Set aside.
Heat 3-4 tbsp of cooking oil in a wok. Add carom seeds and cumin seeds, and mix well. Add the finely chopped onions and fry them until light golden brown.
To the cooked onions, add the prepared spice mix (2 tbsp or to taste), turmeric powder, pink salt, dried mango powder, dried fenugreek leaves, and red chili powder. Mix everything well and cook for 2-3 minutes.
Gradually add warm water and mix well. Let it cook on low flame for 2-3 minutes to let the flavors meld.
Add the pureed tomatoes and ginger-garlic paste. Stir everything together and cook on medium flame for about 4-5 minutes, until the oil starts to separate from the mixture.
Add the boiled chickpeas to the wok, along with chickpea water and 1 cup of water (or as needed to adjust consistency). Mix well and cook on low flame for 8-10 minutes.
Once the curry thickens, mash slightly with a masher to enhance the consistency. Add chopped fresh coriander and green chilies. Cover and cook for another 1-2 minutes.
Garnish with more fresh coriander and serve hot with puris.