Peel and dice all potatoes evenly.
Chop onion and mince garlic cloves.
In a large pot, melt butter over medium heat.
Add onions and garlic. Sauté until soft and fragrant.
Stir in flour. Cook for about one minute.
Slowly whisk in broth. Stir continuously to avoid lumps.
Add diced potatoes and bring to a boil.
Reduce heat. Let simmer until potatoes are tender.
Stir in milk and heavy cream gently.
Add shredded cheese. Mix until fully melted.
Use blender if smoother texture is desired.
Season with salt and pepper to taste.
Ladle soup into bowls and garnish with chives.
Top with crumbled bacon, if using.
Serve hot and enjoy every bite!