Heat the coconut oil in a large Dutch oven or deep skillet over medium heat. Add the cumin seeds, if using, and cook for about 30 seconds until fragrant.
Stir in the onion and cook for 6 to 8 minutes until soft and lightly golden. Add the garlic and ginger, cooking for another minute until aromatic.
Sprinkle in the curry powder, ground cumin, coriander, turmeric, smoked paprika, and cayenne. Stir constantly for about 30 seconds so the spices become fragrant without burning.
Mix in the tomato paste and cook for another minute, then pour in the crushed tomatoes. Let the mixture simmer for about 5 minutes to deepen the flavor.
Add the coconut milk, vegetable broth, and chickpeas. Stir well, bring the curry to a gentle simmer, then reduce the heat to medium-low. Cook uncovered for 15 to 20 minutes, stirring occasionally, until the sauce thickens slightly.
Fold in the baby spinach and cook just until wilted. Stir in the lime juice and chopped cilantro, then season with salt and black pepper to taste.
If you prefer a creamier texture, blend a cup of the curry and stir it back into the pot, or mash a small portion of the chickpeas with the back of a spoon.
Serve hot with steamed basmati rice, naan, or your favorite flatbread.