To start, pierce the potatoes a few times with a fork. Then, microwave them for 12 to 15 minutes, or until they’re tender. If you prefer using the oven, bake them at 400°F (200°C) for about 45 minutes until soft. Once the potatoes are cool enough to handle, carefully halve them, remove the skins, and cut the flesh into chunks. Set them aside.
While the potatoes cook, it’s time to get the bacon crispy and ready. In a skillet over medium-high heat, cook the bacon until it’s crisp and golden. Once done, transfer the bacon to a paper towel-lined plate to drain and cool. Reserve about 1 tablespoon of the bacon fat and discard the rest. Crumble the cooled bacon into small pieces, and set them aside for later use.
In a large pot, melt the butter over medium-low heat. Add the reserved bacon fat, minced garlic, and chopped onion, cooking for 2 to 3 minutes, or until the onion becomes tender and translucent. Slowly whisk in the flour and cook for 1 to 2 minutes, allowing it to form a smooth, golden mixture.
Gradually pour in the milk and half-and-half, whisking continuously to prevent any lumps. Then, add the chicken stock, bringing everything to a light simmer. Stir in the salt, garlic salt, and black pepper. Let the soup simmer for 5 to 7 minutes, or until it has thickened slightly.
Once the soup has thickened, it’s time to incorporate the potatoes. Scoop the chunks of potato into the pot, breaking them into small pieces or leaving them chunky, depending on your texture preference. Stir in the mild cheddar cheese, sharp cheddar cheese, and sour cream, mixing until the cheese has melted and everything is well combined.
If you like, you can reserve a bit of cheese and bacon to sprinkle on top when serving. Remove the pot from the heat and give everything one last good stir to ensure it's rich and creamy.