Heat oil in large saucepan or Dutch oven. Add onion, carrot, celery, garlic and red pepper flakes and cook over medium heat for approximately five minutes or until vegetables are fragrant and have softened.
Add cumin, lentils and broth to the saucepan, turn the heat to high and bring to a boil.
Reduce heat to medium low, cover and simmer until lentils are tender and soup is beginning to thicken, about 20-30 minutes.
Using an immersion blender, blend the soup until smooth, or leave some chunks, if desired. Alternatively, you can transfer some of the soup into a blender to puree it. I like to keep mine a little bit chunky. Add extra broth to thin it out if necessary. Add lemon juice, salt and pepper and stir. Taste and adjust flavours according to your preferences. Serve sprinkled with fresh cilantro and a sprinkle of parmesan or feta cheese, if desired.