In a large pot or Dutch oven over medium heat, melt the butter.
Add the chopped onions and sauté until they soften and just begin to turn golden, about 5-7 minutes.
Sprinkle in the flour and lower the heat, stirring constantly to cook the roux for 2 minutes—this toasts the flour and removes any raw taste.
While stirring or whisking continuously, slowly pour in the hot broth.
Keep whisking briskly to prevent any lumps from forming.
Stir in the washed watercress and bring the soup to a gentle simmer.
Cook for about 10 minutes, or until the watercress is wilted and tender.
Carefully transfer the soup in batches to a high-speed blender and purée until completely smooth. (Alternatively, use an immersion blender directly in the pot.) Return the smooth soup to the pot.
In a separate medium bowl, whisk the heavy cream and eggs together until well combined. To temper the eggs and prevent them from scrambling, slowly ladle about 2 cups (480 ml) of the hot soup into the egg mixture while whisking constantly.
Once incorporated, remove the soup pot from the heat and stir the tempered egg mixture back into the main pot.
Season with fresh lemon juice, sugar, salt, and freshly ground black pepper.
Return the pot to a moderate, low flame.
Stir the soup constantly for 3 to 4 minutes until it thickens slightly and is heated through. It is crucial not to let the soup boil or simmer, as this can cause the eggs to curdle.
Serve immediately.
When blending hot liquids, never fill the blender more than halfway.
Remove the small cap from the lid and cover the opening with a folded kitchen towel to allow steam to escape safely.