In a Dutch oven put 1 cup of the broth, asparagus pieces, and diced onion. Bring the broth to a boil.
Turn the heat down to medium and put the cover on. Simmer for 10-15 minutes until the asparagus is soft.
Remove from heat and let cool for 5 minutes.
Put the mixture into a blender or food processor and puree until it’s smooth. Letting it cool will avoid an explosion from the blender. But it’s still a good idea to hold the lid on tightly. Add more broth if necessary to get it smooth. Set that aside for a few minutes.
Put the Dutch oven back on medium heat and melt the butter.
Sprinkle the flour, salt, and pepper over the butter. With a whisk, stir constantly for about 2 minutes. The goal here is to brown the flour without letting it burn.
Pour the rest of the broth in slowly while whisking.
Increase the heat and continue whisking until the mixture comes to a boil.
Add the asparagus puree to the pot.
Continue to whisk the soup until it comes to a boil. That will only take a few minutes.
Remove the pot from the heat. Stir in the cream and the lemon juice and adjust the seasonings.
Ladle into bowls and garnish as desired.
The soup can be easily reheated by simply adding some more chicken stock to the pan.