Heat the olive oil in a 5- to 6-quart Dutch oven over medium heat. Add the onion, carrots, and celery. Cook for 7 to 9 minutes, stirring occasionally, until the onion is translucent and the vegetables have softened without browning.
Add the garlic, tomato paste, cumin, paprika, coriander, oregano, and red pepper flakes. Cook for 1 minute, stirring constantly, until fragrant and the tomato paste darkens slightly.
Stir in the lentils, diced tomatoes with their juices, potato, broth, salt, and black pepper. Increase the heat and bring to a boil, then reduce to a gentle simmer.
Partially cover and simmer for 28 to 35 minutes, stirring occasionally, until the lentils are tender and the potato cubes are easily pierced with a fork. Add a splash of water or broth if the soup becomes thicker than desired.
For a creamier soup with whole lentils remaining, briefly blend about one-quarter of the soup with an immersion blender. Leave the soup unblended for a fully chunky texture.
Stir in the spinach and cook for 1 to 2 minutes, just until wilted and bright green.
Remove the pot from the heat and stir in the lemon juice. Taste and adjust the salt and black pepper. Ladle into bowls and add parsley, lemon wedges, or a light drizzle of olive oil as desired.