Melt butter in a large saucepan over medium-high heat. Add onion and garlic, and saute 5 minutes. Season with salt and pepper. Add asparagus and saute another 4 minutes. Add the chicken stock and bring to a boil. Reduce to simmer and cook for 30 minutes, until asparagus is very tender. *Carefully transfer to a blender and puree until smooth. Return to saucepan, stir in sour cream and season with salt and pepper, to taste. Transfer to serving bowls. Dust with paprika and serve.
*When blending hot liquids: Remove liquid from the heat and allow to cool for at least 5 minutes. Transfer liquid to a blender or food processor and fill it no more than halfway. If using a blender, release one corner of the lid. This prevents the vacuum effect that creates heat explosions. Place a towel over the top of the machine, pulse a few times then process on high speed until smooth.