Start by draining and rinsing the canned chickpeas. Set them aside. Cut the firm tofu into cubes and pat them dry with a paper towel to eliminate excess moisture. This helps the tofu absorb the flavors better. Dice the onion and mince the garlic.
In your large skillet or Dutch oven, heat the coconut oil over medium heat. Once melted, add the diced onion and sauté for about 5 minutes, until translucent. Stir in the minced garlic and sauté for an additional minute until fragrant.
Sprinkle in the garam masala, coriander seeds, turmeric, ground cumin, and hot chili powder or flakes. Stir well to coat the onions and garlic in the spices, allowing them to toast for a minute or two, which enhances their flavors.
Add the diced tomatoes to the skillet, stirring to combine. Pour in the vegetable broth and water, scraping the bottom of the pan to release any flavorful bits stuck to it. Bring the mixture to a gentle simmer.
Gently fold in the cubed tofu and rinsed chickpeas. Stir to combine everything, ensuring the tofu and chickpeas are coated in the sauce. Allow the curry to simmer for about 15-20 minutes, stirring occasionally.
In a small bowl, mix the chickpea flour with a little water to create a slurry. Stir this into the curry to help thicken the sauce. Continue to simmer for another 5-10 minutes until it reaches your desired consistency.
Stir in the cane sugar and salt, adjusting to taste. Remove the curry from heat and sprinkle with freshly chopped cilantro. This adds a beautiful pop of color and a fresh flavor.