Heat the olive oil over a large heavy-bottomed pot or dutch oven, over medium heat.
Add the chopped onion and carrot and cook, stirring often, for about 5 minutes.
Add the garlic, cumin, curry powder and thyme. Cook until fragrant while stirring constantly, about 30 seconds.
Pour in the tomatoes and cook for a few more minutes, stirring often, in order to enhance their flavor.
Pour in the lentils, broth and the water.
Add salt and a pinch of red pepper flakes. Season generously with freshly ground black pepper.
Raise heat and bring the mixture to a boil, then reduce to a gentle simmer.
Cook for 30 minutes, uncovered, or until the lentils are tender but still hold their shape.
Optional: In a blender, puree 2 cups of the soup and return it to the pot, or use an immersion blender briefly to partially puree the soup for thickness.
Transfer 2 cups of the soup to a blender. Protect your hand from steam with a tea towel placed over the lid and purée the soup until smooth.
Remove the pot from heat and stir in the juice of half of a lemon. Taste and season with more salt, pepper and/or lemon juice until the flavors really sing.
Add the chopped greens. If batch cooking and freezing, I leave out the greens and just add them to individual bowls at the time of serving. I don’t really like how greens get when they are frozen. They don’t need to be cooked, they will wilt nicely into the hot soup.
Serve immediately. Leftovers will keep well for about 4 days in the refrigerator, or the soup can be frozen for several months.