Heat olive oil in a large pot over medium heat. Add garlic and onion, cook for 2 minutes until fragrant.
Add celery and carrot. Cook for 7-10 minutes until softened and the onion is sweet, building the flavor base.
Stir in lentils, crushed tomatoes, vegetable broth, cumin, coriander, and paprika. Bring to a simmer.
Skim off any scum from the surface, then reduce heat to low, cover, and simmer for 35-40 minutes until lentils are tender.
Remove from heat. Use an immersion blender to pulse a few times, thickening the soup to your desired consistency.
Adjust soup consistency with a touch of water if needed. Season with salt and pepper to taste. Grate lemon zest over each serving and add a squeeze of fresh lemon juice.
Garnish with fresh parsley if desired and serve hot with crusty bread slathered in butter!