In a Large soup pot or dutch oven, heat the butter or olive oil and add the onions, sauteeing until translucent.
Reserve 1 cup of beans.
Add in the stock, greens, asparagus and all remaining ingredients EXCEPT for the sour cream/heavy cream and the reserved beans.
Simmer on med-low heat until the asparagus is fork tender (approx 20 minutes)
Remove from heat, and using an immersion blender, puree until all greens are blended well
Add in reserved beans.
If using heavy cream, add it to the soup and stir thoroughly before ladling.
If using sour cream ladle soup into bowls and top with sour cream before serving.