In a large pot, heat olive oil over medium heat. Add the diced onion, carrots, and celery. Sauté for about 5-7 minutes or until the vegetables are softened.
Stir in the minced garlic, red bell pepper, cumin, smoked paprika, coriander, and cayenne pepper (if using). Cook for an additional 2-3 minutes until fragrant.
Add the rinsed lentils, diced tomatoes with their juice, and vegetable broth to the pot. Stir to combine and bring to a boil.
Reduce the heat to low and let the soup simmer, uncovered, for about 25-30 minutes or until the lentils are tender. Stir occasionally and add more water or broth if the soup becomes too thick.
Once cooked, season with salt and pepper to taste. If you'd like a creamier texture, you can use an immersion blender to puree a portion of the soup.
Serve hot, garnished with fresh parsley and lemon wedges on the side for squeezing over the soup.
Notes
For a creamier texture, use an immersion blender to puree part of the soup.