Set a large soup pot over medium heat and melt the butter. Add the diced onion and cook for about 6 minutes, stirring occasionally, until soft and lightly golden. Add the garlic and cook for 30 seconds more.
Add the cubed potatoes, chicken-style broth, Guinness, and black pepper. Bring to a gentle boil, then reduce heat and simmer for 15 to 20 minutes until the potatoes are very tender.
Using a potato masher, mash the potatoes directly in the pot several times until some break down into the broth while others remain in chunks. The soup should thicken noticeably but still have visible pieces of potato. For a smooth, creamy soup, use an immersion blender or transfer to a high-speed blender and purée until smooth.
Remove from heat. Stir in the shredded cheddar a handful at a time, waiting until each addition is fully melted before adding more. Stir in the heavy cream.
Adjust seasoning to taste. Ladle into bowls, garnish with chopped scallions, and serve warm.