Heat oil in a large soup pot over medium heat. Add onions and cook until soft and translucent, about 10 minutes. Add red curry paste and push it into the sides and bottom of the pan with a wooden spoon to break it apart. Add lemongrass, makrut lime leaves and heat until they become fragrant, about 2 minutes. Add lentils and water and bring to a boil. Reduce heat and simmer until the lentils are tender, about 20 minutes.
Remove the lemongrass stalks and lime leaves and discard. Puree the soup in a blender or using an immersion blender until it becomes smooth. Add the coconut milk and soy sauce, stirring to combine. Return the soup to medium-low heat and cook until it just begins to boil. Remove from heat and add lime juice, stirring to combine. (Taste at this point and add additional soy sauce or salt if needed - mine needed another half teaspoon or so of salt.)
Serve immediately, topped with fried shallots and fresh cilantro.