Cook the bacon in a skillet until crispy. Remove, crumble, and set aside. In the same skillet, sauté the onions and celery in the bacon drippings until tender.
Make The Roux
Melt butter in the stockpot over medium heat. Gradually whisk in the flour until smooth. Cook for 1-2 minutes to remove the raw flour taste.
Create The Base
Slowly add the chicken stock to the roux while whisking. Once combined, stir in the milk, cream, garlic powder, salt, and pepper. Bring to a gentle simmer.
Add The Potatoes
Gently fold in the cubed potatoes. Allow the soup to simmer for about 20 minutes, stirring occasionally.
Incorporate The Cheese
Add the shredded cheddar cheese, stirring until fully melted and incorporated.
Final Touches
Mix in the crumbled bacon (reserving some for garnish) and sautéed vegetables. Adjust seasoning if needed.
Serve And Garnish
Ladle the soup into bowls and top with green onions, extra bacon, and shredded cheddar for a beautiful presentation.