In a large pot over medium heat, heat oil. Add onion, celery, and leek and cook until slightly soft, 5 minutes. Add garlic, thyme, and red pepper flakes (if using) and cook until fragrant, 1 minute more. Add escarole and stir until wilted completely. Season with salt and pepper.
Add broth, water, beans, parmesan rind and bay leaves and bring to a simmer. Stir occasionally, mashing some beans (about ⅓ of them) in the pot to thicken soup. Let simmer 15 minutes, then stir in lemon juice.
Garnish with Parmesan before serving.
