Wash, peel, and dice 3 lbs of Russet potatoes into 1-inch cubes.
In a large stockpot, melt 2 tbsp of butter over medium heat.
Add 1 medium diced yellow onion and 3 cloves of minced garlic.
Sauté for 3-5 minutes, until the onion becomes translucent and fragrant.
Sprinkle 2 tbsp of flour over the sautéed onions and garlic, and stir for 1-2 minutes to form a roux.
Gradually pour in 4 cups of chicken broth while stirring to dissolve the roux.
Bring the mixture to a gentle boil.
Add the diced potatoes to the pot and reduce the heat to a simmer.
Cover and cook for 15-20 minutes or until the potatoes are fork-tender.
Use an immersion blender to puree the soup until smooth.
Stir in 1 cup of heavy cream and 1 cup of shredded cheddar cheese.
Season with salt and pepper to taste.
Ladle the soup into bowls and garnish with crispy bacon, chives, or shredded cheese.
Serve immediately and enjoy!