Heat half of the olive oil in a saucepan over medium heat.
Add onion and garlic, cooking until fragrant, about 1-2 minutes.
Add lentils and stir to combine.
Pour in half of the vegetable broth, plus the water, and bring to a simmer.
Reduce to a low simmer and cook until lentils are tender, 35 to 40 minutes. Allow lentils to cool.
In a large skillet, heat remaining olive oil over medium heat.
Add the escarole and season with salt and pepper. Cook until wilted, about 3 minutes. Then, add to the lentils (reserve a little to garnish the soup).
Using a hand blender, carefully puree the lentils with the remaining vegetable broth.
Bring the soup back to a low simmer and cook for another 15-20 minutes.
Spoon soup into bowls, drizzle with olive oil, top with more sauteed escarole, crushed red pepper, and shaved Parmesan cheese.