Heat a large soup pot or Dutch oven over medium-high heat. Add the ground beef, the onion and the pepper and cook, breaking up the beef as it cooks, until the beef is browned and cooked through and the vegetables are soft.
Stir in the garlic and the flour. Cook for 1 minute.
Slowly stir in the milk. Stir in the beef broth and potatoes. Bring the mixture to a boil, then reduce the heat and simmer until the potatoes are cooked through, 15-20 minutes.
While the soup is cooking, place the bacon in a small saucepan and cook until crisp. Remove to a paper-towel lined plate with a slotted spoon.
When the potatoes are tender, stir in the cheese until melted. Add the bacon, reserving some for topping the soup, and stir to combine. Season to taste with salt and pepper.
Serve the soup topped with the bacon and sliced green onions, if desired. Serve warm.
Notes
Nutrition information provided as an estimate only. Various brands and products can change the counts. Any nutritional information should be used as a general guide. Nutrition information does not include the croutons.