Brown chopped bacon in a large stockpot over medium heat. Once browned remove and set aside to cool. Keep about 2 tablespoons rendered bacon grease in the pot and discard the rest or save for another use.
¼ pound bacon
Add butter and diced onion to reserved bacon grease in the stockpot. Cook over medium low heat for several minutes until onions are soft and translucent.
2 tablespoons butter, ½ large white onion
Then stir in chopped garlic and flour. Cook for about a minute, being careful not to burn.
2 cloves garlic, 6 tablespoons all-purpose flour
Whisk in stock, whisking constantly while thickening. Then whisk in the whole milk, nutmeg, salt and pepper.
3 cups chicken stock, 1 cups whole milk, Pinch nutmeg, ¼ teaspoon Salt and black pepper
Bring to a boil then reduce to a simmer and add peeled, cubed potatoes. Simmer until potatoes are tender, about 15 minutes.
2 large russet potatoes
Then add broccoli and simmer until broccoli is cooked, about 5 minutes longer.
1 cup broccoli florets
Reduce heat to low then stir in cream, being careful not to boil.
½ cup heavy cream
Set aside about ½ cup shredded cheese for serving then slowly add remaining cheese into soup, stirring well after each addition.
½ pound cheddar cheese
Serve topped with bacon, shredded cheddar cheese, and sliced scallions.