Cook the bacon in a skillet until crispy then set aside to cool.
Prepare the potatoes by peeling and cutting them into cubes, then cook them either in an instant pot, oven, or boiling on the stovetop.
Use the reserved bacon fat in a large pot to sauté the chopped onion and minced garlic until the onions are soft and translucent.
Sprinkle the flour into the pot and stir continuously to mix with the bacon fat, until you get crumbly bits; add salt, basil, and pepper and let the mixture cook until fragrant.
Slowly pour in the chicken broth while whisking constantly, then bring the soup to a boil and keep stirring for about 2 minutes.
Add the cooked potatoes, cream or milk, and cheese if using, then reduce heat and let everything simmer to develop flavors.
Serve the soup garnished with chopped green onions, extra cheese, or a splash of hot sauce for a bit of heat.