Melt 2 tablespoons butter in medium sized stock pot, and saute onion and celery until tender. Add broccoli and broth, cover and simmer for 10 minutes.
Pour the soup into a blender, filling the pitcher no more than halfway full. Hold down the lid of the blender with a folded kitchen towel, and carefully start the blender, using a few quick pulses to get the soup moving before leaving it on to puree. Puree in batches until smooth and pour into a clean pot. Alternately, you can use a stick blender and puree the soup right in the cooking pot.
In small saucepan, over medium-heat melt 3 tablespoons butter, stir in flour and add milk. Stir until thick and bubbly, and add to soup. Season with pepper and serve.