Heat the olive oil in a large pot over medium heat. Add the chopped onion, carrots, and celery. Cook, stirring occasionally, until the vegetables are soft and the onions are translucent, about 7–8 minutes. This forms a flavorful base for your soup and softens the vegetables.
Stir in the minced garlic, cumin, smoked paprika, and thyme. Cook for another minute or two until fragrant. This step helps release the spices’ full aroma, enhancing the soup’s savory profile.
Add the rinsed lentils, diced tomatoes (with juice), bay leaf, and broth to the pot. Stir well to combine everything. Bring the soup to a gentle boil, then reduce the heat to low to maintain a simmer.
Cover the pot partially with a lid and let the soup simmer for about 35–40 minutes, or until the lentils are tender but not mushy. Stir occasionally to prevent sticking. If the soup thickens too much, add a little extra broth or water.
Remove the bay leaf. Taste the soup and season with salt, pepper, and lemon juice for brightness. If you prefer a creamier consistency, use an immersion blender to puree part of the soup, or carefully blend a portion in a regular blender and stir it back in.
If using spinach or kale, stir it in now and cook for an additional 5 minutes until wilted. Ladle the soup into bowls, garnish with fresh parsley or cilantro, and serve warm with crusty bread or a simple salad.