Toss the broccoli, shallot and oil on a baking sheet. Season with salt and black pepper, to taste. Roast, tossing once, for about 25 minutes or until slightly charred and tender.
Set aside 1/2 cup of the smaller broccoli florets.
Puree the remaining broccoli, stock, spinach, Parmesan, lemon zest and juice in a blender until smooth.
Transfer to a pot and heat over medium heat until hot. Season with salt and black pepper, to taste.
Ladle into 4 serving bowls and top each bowl with the reserved broccoli florets.