Press the extra firm tofu to remove excess moisture and cut into 1/2-inch cubes.
Rinse the red lentils thoroughly under cold water until the water runs clear.
Heat the coconut oil in a large pot over medium heat and sauté the onion until translucent.
Stir in the minced garlic, grated ginger, curry powder, turmeric, and cumin, cooking for one minute until fragrant.
Pour in the vegetable broth, tomato puree, and rinsed lentils, then bring the mixture to a gentle boil.
Reduce the heat to low and simmer for 15 minutes until the lentils are tender and have absorbed most of the liquid.
Gently fold in the tofu cubes and coconut milk, allowing them to heat through for 3 minutes.
Stir in the fresh spinach until wilted, then finish with lime juice, salt, pepper, and fresh cilantro.