Add Onion, carrots, celery and sauté until softened.
Sprinkle the flour over the vegetable mixture and increase heat a little, stirring until a paste forms.
Gradually whisk in the broth, making sure no lumps have formed.
Add the potatoes and cook for about 10 minutes, until they just start to soften.
Add the broccoli, salt, & pepper. Stir and let cook another 5 minutes, stirring occasionally.
Add the milk, and let heat through.
Chunky Soup
If you like a chunky soup, at this point you can just stir in the bacon and cheese and serve.
Creamy Soup with Some Texture
Remove 4 cups of the soup to a bowl and set aside. Use an immersion blender to puree the soup in the pot. Then add back the 4 cups you took out.
Stir in the bacon and cheese and let cheese melt.
Creamy Soup
If you like a creamier consistency, Use an immersion blender to puree the soup right in the pot (If you opt to use a blender or food processor, please be extremely careful and follow manufacturers guidelines for pureeing hot foods).
Stir in the bacon and cheese and let cheese melt.
Serve immediately.
Garnish
Reserve 1/2 cup of the cheese, and 1 slice of the chopped bacon for garnish. You could also top with some sour cream.