In a large pot, sauté chopped onions and garlic in butter until soft. Add chopped asparagus and chicken or vegetable broth. Bring to a boil, then reduce heat and simmer for 15-20 minutes, until the asparagus is tender. Use an immersion blender or transfer to a blender to puree until smooth. Stir in heavy cream and season with salt and pepper to taste. Serve hot with crusty bread.