In a large pot, heat oil on medium-high. Add chopped onion, carrots, celery, and sweet potato. Sauté until onion is translucent.
Add garlic and ginger, sauté and stir for another minute.
Add spices and tomato paste, sauté and stir for another minute.
Add broth and lentils, stirring up any stuck bits, and bring to a simmer. Cover and cook for about 20 minutes, until lentils are very soft. Add water or more broth if it seems too thick. Taste and add more salt, if needed.
Puree soup in blender or with immersion blender. This soup can be made very smooth or left a bit chunky.
Squeeze half of the lemon into the soup and stir well.
Serve with a dollop of plain yogurt and a sprinkling of garam masala, if desired.