Soak the chickpeas for 8 hours or overnight.
Pressure cook the chickpeas.In an Instant Pot: add chickpeas, water, salt, bay leaf, and garlic. Pressure cook on high for 15 minutes. Allow for natural pressure release. Don't drain!In a pressure cooker: Pressure cook the chickpeas on medium-high. After the first whistle goes off, reduce heat to medium-low and continue cooking for 10 minutes before taking it off the heat. Add avocado oil to a medium saucepan over medium heat. When the oil is hot, add the cardamom and cinnamon. Fry for a minute.
Add onion and cook for about 10 minutes, or until it is somewhat dark and caramelized! Stir occasionally. Add a splash of water if needed to prevent it from sticking.
Add ginger and cook for about 2 minutes, or until the raw ginger smell goes away. Add tomato paste and 1 tsp salt. Cook for 4-5 minutes or until the tomato juices evaporate.
Add cumin, coriander, garam masala, and red chili powder. Stir for a minute.
Pour in the pressure cooked chickpeas and the water they were cooked in. Increase heat to medium-high until it bubbles, then reduce to medium-low and simmer for about 10 minutes.
Add kashmiri lal, amchur, and black pepper. Finish cooking uncovered for 15 minutes until it is the consistency and texture you want it! the longer it sits, the longer the flavor has a chance to seep in.
Finish with lemon juice and cilantro. Serve with rice, roti, naan, paratha, puri, bhature...the world is your oyster.