Blend the shallots and grated coconut until you have a fine paste. Set aside.
Drain the soaked garbanzo beans and place in pressure cooker with 6 cups of water for about 2 whistles. Drain and set the beans aside. Save the liquid.
In a large stock pot, heat the oil over medium heat and fry the red onions until golden.
Add the ginger-garlic paste and cook for about 1-2 minutes.
Add the turmeric powder, chili powder, cayenne pepper, and red pepper flakes and stir for about 30 seconds.
Add the chopped tomatoes and cook until the tomatoes become paste-like (about 10 minutes). Keep stirring to keep mixture from sticking to pan.
Stir in salt. Add the garbanzo beans with 2 - 2 1/2 cups of the saved liquid. Simmer for 5 minutes, uncovered.
Stir in the coconut-shallot paste from Step 1. Add another 3/4 cup of liquid and allow it to boil, then simmer for 10 minutes uncovered.
Remove from heat. Serve over basmati rice or enjoy with naan.