Place the diced bacon in a cold Dutch oven or large soup pot. Set over medium heat and cook, stirring occasionally, until crisp. Transfer the bacon to a paper towel–lined plate using a slotted spoon. Leave about 1 tablespoon of bacon fat in the pot.
Add the ground beef, onion, carrots, and celery. Cook over medium-high heat for 8–10 minutes, breaking up the beef and stirring occasionally, until the beef is browned and the vegetables begin to soften. Spoon off excess fat, leaving about 1 tablespoon in the pot.
Add the garlic and cook for 30 seconds. Stir in the flour, mustard powder, paprika, salt, and white pepper. Cook, stirring, for 1 minute.
Gradually stir in the beef stock, scraping up the browned bits from the bottom. Add the potatoes, Worcestershire sauce, and hot sauce. Bring to a boil, then reduce to a steady simmer. Cover and cook for 10–15 minutes, stirring occasionally, until the potatoes and carrots are tender.
Stir in the heavy cream and half the cooked bacon. Heat gently until warmed through, then remove the pot from the heat.
Add the cheddar a handful at a time, stirring until each addition melts before adding more. If the soup is thicker than you like, stir in a splash of beef stock.
Ladle into bowls and top with the remaining bacon and sliced green onions.