Heat olive oil in a large soup pot or Dutch oven over medium heat.
Add onions, carrots, and celery to oil; season generously with salt and pepper. Saute until onions are translucent and veggies are starting to get tender (about 10 minutes), stirring occasionally.
Sprinkle paprika, cumin, coriander, red pepper flakes, and garlic over veggies. Cook, stirring constantly, until fragrant (about 1 minute).
Mix lentils, tomatoes, bay leaf, and broth into veggies. Bring soup to a boil, then reduce to a simmer.
Cook soup until lentils and veggies are tender, stirring occasionally (about 30 minutes).
Stir in spinach and cook just until wilted (about 2 minutes).
Add lemon juice to taste and stir in parsley. Season soup generously with salt and pepper.
Serve soup hot, sprinkled with additional parsley, if desired. Enjoy!