Heat 2 tablespoons olive oil in a heavy pot over medium heat. Add the onion, carrots, celery, and 1 teaspoon salt. Cook for 9 to 11 minutes, stirring occasionally, until the onion is translucent and several edges are golden.
Add the garlic and cook for 30 seconds. Push the vegetables outward, add the tomato paste to the center, and cook for 2 minutes until brick red and lightly sticking. Add the cumin, coriander, smoked paprika, thyme, and black pepper, and stir for 30 seconds until fragrant.
Add the lentils, broth, water, bay leaves, and remaining ½ teaspoon salt. Scrape the bottom of the pot, bring to a boil, then reduce to a gentle simmer. Partially cover and simmer for 28 to 35 minutes, stirring every 10 minutes, until the lentils mash easily but still hold an edge.
Remove the bay leaves. Transfer exactly 2 cups of soup to a blender, vent the lid, and blend until smooth, then return it to the pot. Alternatively, pulse one area with an immersion blender for 10 to 15 seconds.
Stir in the spinach and simmer for 2 minutes until wilted. Add up to ½ cup water if the soup is thicker than desired.
Turn off the heat. Stir in the lemon juice and ¼ cup parsley, then taste and adjust seasoning. Mix the remaining parsley with the lemon zest and 1 tablespoon olive oil and spoon over each serving.