In a large soup pot or Dutch oven, heat olive oil over medium heat. Add onion, carrot, and celery. Sauté for 6-8 minutes until softened. Add garlic and cook for 1 more minute.
Add tomato paste, curry powder, paprika, cumin, salt, and pepper. Stir and cook for 1 minute to toast the spices.
Add the potatoes, lentils, vegetable broth, and bay leaf. Stir to combine.
Increase heat to high and bring to a boil. Once boiling, reduce heat to low, cover, and simmer for 25-30 minutes, until lentils and potatoes are tender.
Remove the bay leaf. Use an immersion blender to partially puree the soup until it reaches a creamy but still chunky consistency. (Alternatively, blend 2-3 cups of soup in a traditional blender and stir back into the pot).
Stir in the spinach or kale and cook for 2-3 minutes until wilted. Taste and adjust seasoning. Serve hot.