Melt butter in a medium pot over medium heat. Add onion and cook, stirring frequently until soft and translucent, about 5-7 minutes.
Stir in garlic and cook for 30 seconds or until fragrant.
Snap the ends of the asparagus and chop the spears into 1 inch pieces, keeping some of the tips for garnish. Roughly chop the broccoli into equal pieces. Add them to the pot with the chicken or vegetable stock, salt and freshly ground black pepper.
Bring to a gentle simmer, cover the pot and cook for 20 minutes or until the vegetables are fork tender.
While the veggies cook, bring water to a boil in a small pot. Add the reserved asparagus tips and blanch for 3-5 minutes or until bright green and tender. Transfer the cooked asparagus tips in a bowl with ice-cold water to stop them from cooking. Set aside.
After the vegetables are cooked, let the soup to cool for a few minutes, then carefully transfer to a blender to puree the soup. Blend until smooth and creamy. Return to the pot.
Stir in lemon juice and heavy cream. Check for seasoning.
Ladle the soup into bowls and top with reserved asparagus tips, crumbles of goat cheese and freshly ground black pepper. Drizzle olive oil and more heavy cream if desired.