In a medium pot, combine 3 cups chicken broth, carrots, potatoes, and onion. Bring to a boil and simmer covered for 10 minutes, the vegetables should be starting to get tender.
Add the chopped broccoli, cover and simmer for another 10 minutes. At this point the pan will look full of vegetables.
In a separate medium saucepan, Melt the butter over medium heat. Whisk in the flour and cook for 1-2 minutes until golden, stirring constantly. Gradually whisk in the remaining 1 cup broth and the milk and cook until the mixture is bubbling and is slightly thickened about 5-7 minutes.
Stir the cheese, one handful at a time, into the milk mixture. Once the cheese is melted, stir in the salt and pepper.
Slowly stir the cheese sauce into the broth and vegetables, until combined. Add additional salt and pepper to taste and additional broth or milk until the soup is the desired consistency.
Serve topped with chopped bacon and shredded cheese.