Melt butter in a large saucepan. Add onion; cover pan and cook over medium-low heat for 8 minutes. Remove cover and add flour. Stir until well blended. Cook over medium-low heat for 2 minutes, making sure that flour does not brown. Heat chicken broth until almost boiling. Whisk heated liquid into onion/flour mixture, stirring until smooth and well blended. When mixture begins to thicken, add milk, 2 teaspoons salt and pepper. Stir until smooth and well blended. Cook over medium heat, stirring often until mixture thickens. Set aside.
Wash broccoli; peel stalks. Cut off the tiny branches and bud ends and reserve. Cut remaining stalks, including the flowerets into ¼-inch slices. Place sliced broccoli in saucepan. Add ½ inch water and ¼ teaspoon salt. Bring to a boil and boil slowly, uncovered 4 to 5 minutes. Drain well, reserving the liquid. Purée with a cup of the soup base, pouring the purée back into the remaining soup. Simmer the reserved broccoli buds in the cooking liquid for 2 to 3 minutes. Drain cooking liquid into another saucepan. Run cold water over broccoli buds to set the color. Boil down quickly the reserved liquid to less than a cup; pour liquid into soup base. Bring soup to a simmer and serve. Decorate with the broccoli buds. Yield: 4 servings.
Note: If made ahead of time, chill the soup, uncovered to preserve its green color.