Prep the base. Warm the olive oil in a large pot over medium heat. Add onion, carrots, and celery with a pinch of salt.
Cook 6–8 minutes, stirring, until the vegetables soften and the onions turn translucent.
Add the flavor builders. Stir in garlic and tomato paste. Cook 1–2 minutes until the paste darkens slightly and smells sweet. Add cumin, smoked paprika, thyme, and red pepper flakes if using.
Toast for 30 seconds.
Pour and stir. Add the crushed tomatoes, lentils, vegetable broth, bay leaf, potatoes, and a generous pinch of salt. Stir well, scraping up any bits from the bottom of the pot.
Simmer. Bring to a gentle boil, then reduce heat to low. Cover partially and simmer 25–30 minutes, stirring occasionally, until lentils are tender but not mushy.
Add quick-cooking vegetables. Stir in zucchini and cook 5–7 minutes more.
If the soup is very thick, add a splash of broth or water.
Finish with greens and brightness. Remove the bay leaf. Stir in spinach (or kale) until wilted. Add the juice of half a lemon, a little zest, and chopped parsley.
Taste and adjust with more lemon, salt, and pepper.
Optional texture boost. For a creamier, body-rich soup, mash a few ladlefuls against the side of the pot or blend 1 cup and return it to the pot.
Serve. Ladle into bowls and finish with a drizzle of olive oil, extra herbs, and fresh cracked pepper. Crusty bread on the side is a very good idea.