Warm the pot: Heat the oil in a large pot or deep skillet over medium heat. Add the onion and a pinch of salt.
Cook, stirring occasionally, until softened and lightly golden, about 6–8 minutes.
Add aromatics: Stir in the garlic and ginger. Cook for 1 minute, until fragrant. If the pan looks dry, add another splash of oil to prevent sticking.
Bloom the spices: Add curry powder, garam masala, cumin, and red pepper flakes if using.
Stir for 30–45 seconds to release the spices’ oils. Don’t let them burn.
Build the sauce: Add the sweet potatoes, crushed tomatoes, coconut milk, and vegetable broth. Stir well, scraping up any browned bits from the bottom.
Simmer: Bring to a gentle simmer. Reduce heat to medium-low, cover partially, and cook for 12–15 minutes, stirring occasionally, until the sweet potatoes are almost tender.
Add chickpeas: Stir in the chickpeas and 1 teaspoon salt.
Continue simmering uncovered for 5–8 minutes, until the sweet potatoes are fully tender and the sauce is creamy and slightly thickened.
Finish: Taste and adjust seasoning with more salt and black pepper. Stir in the lime juice for brightness. If you prefer a looser sauce, splash in a bit more broth.
Serve: Spoon over rice or serve with naan.
Top with chopped cilantro and, if you like, an extra squeeze of lime.