Rinse the lentils under cold water until the water runs clear. Drain and set aside.
In a large pot, heat the vegetable oil over medium heat. Add the diced onion and sauté for about 5 minutes, or until translucent.
Stir in the minced garlic and ginger, cooking for an additional 1-2 minutes until fragrant.
Add the curry powder, cumin, and turmeric to the pot, stirring well to coat the onions. Cook for another minute.
Pour in the diced tomatoes (with their juices), coconut milk, vegetable broth, and salt. Stir to combine.
Add the rinsed lentils to the pot and bring the mixture to a boil. Once boiling, reduce the heat to low and cover the pot. Simmer for about 25-30 minutes, or until the lentils are tender.
If using, stir in the fresh spinach and cook for an additional 2-3 minutes until wilted.
Taste and adjust seasoning if necessary. Serve hot over cooked rice or with naan, garnished with fresh cilantro if desired.