In a large pot, heat the vegetable oil over medium heat. Add the chopped onion and sauté until it becomes translucent, about 5 minutes.
Stir in the minced garlic and grated ginger, cooking for an additional 2 minutes until fragrant.
Add the curry powder, turmeric, and cumin to the pot, stirring to coat the onions in the spices and allowing them to toast slightly for about 1 minute.
Pour in the diced tomatoes (with their juices) and the vegetable broth, mixing until well combined.
Add the rinsed red lentils to the pot, stirring to incorporate them fully into the mixture.
Bring the mixture to a boil, then reduce the heat to low and simmer uncovered for about 20 minutes, or until the lentils are tender and the curry has thickened, stirring occasionally.
Once the lentils are cooked, stir in the coconut milk and spinach leaves. Allow the spinach to wilt, cooking for another 5 minutes.
Season with salt and pepper to taste, adjusting the flavors as needed.
Serve the curry hot, garnished with fresh cilantro on top.