5 tablespoons unsalted butter 1 medium onion, chopped (about 1 cup) 1/4 cup plus 1 tablespoon all-purpose flour 4 cups Basic Chicken Stock, plus more as needed 1 head broccoli (about 1 3/4 pounds), trimmed and cut into florets; peel and cut stems crosswise into 1/2-inch-thick pieces Coarse salt and freshly ground pepper 1/2 cup heavy cream Melt butter in a medium saucepan over medium heat. Add onion and cook, stirring, until translucent, about 5 minutes. Add flour and cook, stirring constantly, for 1 minute (the flour should not take on any color). Pour in stock, whisking until fully incorporated, and bring to a boil. Reduce heat to a simmer and cook, whisking often, until thickened, about 10 minutes. Add broccoli stems and season with salt and pepper. Return to a boil, stirring to combine. Add florets and return to a boil. Reduce heat and gently simmer until broccoli is tender enough to mash with the back of a spoon, 10 to 20 minutes. Working in batches, transfer broccoli mixture to the jar of a blender, bowl of a food processor, or puree through a food mill fitted with a fine or coarse disk, or an immersion blender. Strain soup through a fine mesh sieve into a clean pot, pressing down on solids. Set pot of soup over low heat and whisk in cream, if using. Thin with more stock or water, if necessary. Season with salt and pepper and serve immediately.