Prepare the Tofu (if using): In a bowl, toss the tofu cubes with olive oil, turmeric, paprika, and salt until evenly coated.
Heat a non-stick skillet over medium heat and pan-fry the tofu for 5-7 minutes, flipping occasionally, until golden and slightly crisp. Set aside.
Make the Sauce: Heat the olive oil or vegan butter in a large skillet or pan over medium heat.
Add the onion and sauté for 4-5 minutes until soft and translucent.
Stir in the garlic and ginger, cooking for another minute until fragrant.
Add garam masala, cumin, coriander, and chili powder (if using). Stir for 30 seconds to bloom the spices.
Simmer the Sauce: Pour in the crushed tomatoes and cook for 5-7 minutes, stirring occasionally, until slightly thickened.
Add the coconut milk and vegetable broth, stirring to combine.
Add the Protein: Stir in the chickpeas (or prepared tofu), ensuring they’re evenly coated in the sauce.
Reduce the heat to low and let the sauce simmer for 10-15 minutes, allowing the flavors to meld.
Season and Serve: Taste and adjust the seasoning with salt and pepper as needed.
Garnish with fresh cilantro and a squeeze of lemon juice, if desired.
Serve hot with basmati rice or naan.