Heat oil in a large pot over medium heat until shimmering, and then add the diced onion. Cook, stirring occasionally, until the onion becomes translucent and fragrant, about 5 minutes.
Add the minced garlic and curry powder to the pot. Stir constantly for about 30 seconds to release their aroma and deepen their color.
Pour in the rinsed red lentils, chopped tomatoes, and coconut milk. Stir everything together until the lentils are coated with the spices and the mixture is well combined.
Bring the mixture to a gentle boil, then lower the heat to a simmer. Cover partially and cook for 20-25 minutes, stirring occasionally, until the lentils are soft and starting to break down.
Check the consistency; if the curry is too thick, add a splash of water and stir. Season with salt to taste.
Stir in the chopped greens and cook for another 2-3 minutes until they wilt and turn vibrant green.
Squeeze in lemon juice if using, to brighten the flavors. Give everything a good stir and taste again, adjusting salt or spice as needed.
Let the curry sit off the heat for 5 minutes—this allows the flavors to meld and the dish to thicken slightly.
Serve the hot, creamy lentil curry over rice or with crusty bread, garnished with extra greens if desired.