In a large pot, heat olive oil over medium heat. Add chopped onion, and sauté until translucent (about 5 minutes).
Stir in minced garlic, grated ginger, curry powder, turmeric, and cumin seeds. Cook for 2 minutes until fragrant.
Add the rinsed red lentils, diced tomatoes (with juice), vegetable broth, and coconut milk to the pot. Stir well to combine.
Bring the mixture to a boil, then reduce heat to low. Cover and let it simmer for about 20-25 minutes, or until the lentils are tender. Stir occasionally to prevent sticking.
If using, stir in the chopped spinach or kale during the last 5 minutes of cooking. Adjust the seasoning with salt and pepper to taste.
Once the lentils are fully cooked and creamy, remove from heat. Serve hot, garnished with fresh cilantro.