Heat the butter in a heavy sauce pot over medium heat. Add the onions and broccoli. Sweat the vegetables without letting them brown.
Add the flour and stir to make a roux. Cook the roux for a few minutes, but do not let it start to brown. Gradually beat in the stock. Bring to a boil, stirring with a whip as it thickens.
Simmer until vegetables are very tender. Skim the soup carefully. Pass the soup through a food mill to puree it.
Pass the pureed soup through a fine china cap or cheesecloth. Add enough hot milk to the soup to bring it to the proper consistency. Heat the soup again, but do not let it boil. Season to taste.
At service time add the cream. Add the garnish, if desired.
6 oz broccoli, brunoise (small dice), sautéed in butter