Wash and trim off tough bottoms of asparagus stalks and discard. Slice remaining asparagus into 1/2" pieces. Reserve asparagus tips (top 1/2") and set aside.
Melt butter over a medium heat in a heavy-bottomed pot. Add shallots and chopped asparagus and saute until translucent, about 3-5 minutes.
Add flour and continue cooking and stirring for another couple of minutes.
Slowly stir in 2 cans of broth and continue cooking until asparagus is tender, and flour is incorporated, about 15 minutes. Remove from heat.
While soup is cooking, blanch the asparagus tips to be used as a garnish. To blanch, bring a small pot of water to a boil.. Add 1 teaspoon salt. Blanch tips for 1 minute. Remove from the heat and plunge into ice water.
Puree soup in batches in a blender or using an immersion blender.
Return soup to pot. At this point you can decide if how thick or thin you would like it, adding more broth if needed. You can also add cream for a more decadent version.
Check for seasoning. Makes about 4-6 cups.