Preheat the oven to 400°F. Spread the bread cubes into a single layer on a baking sheet. Place in the preheated oven, and bake for around 10-15 minutes. Remove from oven and set aside.
Heat a large skillet on medium heat. Add bacon and cook until brown and crispy, around 6-8 minutes. Transfer to a paper towel lined plate and set aside.
In a medium saucepan, pour in the bacon fat and heat. Add in the ground beef and break into pieces using a spatula. Continue cooking until browned. Drain excess fat and set aside.
In a large saucepan, heat the butter on medium heat. Add in the garlic, onion, celery, carrots and Worcestershire sauce. Cook, stirring frequently, until the onions have become translucent, around 2-3 minutes.
Whisk in the flour until lightly browned, around 1 minute. Gradually whisk in the chicken broth and milk for around 1-2 minutes or until thickened. Stir in the potatoes.
Bring to a boil, reduce the heat and simmer until the potatoes are tender, around 15-20 minutes.Stir in the ground beef, cheese and the salt and pepper to taste.
Scoop into bowls and crumble some bacon on top. Add some croutons and green onions if desired.