Place the diced potatoes and chicken broth in a large pot. Heat to boiling, then lower the heat and gently simmer for 15–20 minutes, until the potatoes become tender.
Melt the butter in a skillet over medium heat. Stir in the diced onion and minced garlic; sauté until softened and aromatic, roughly 5 minutes.
With a potato masher or immersion blender, crush the cooked potatoes in the broth partially, keeping some lumps for texture.
Introduce the sautéed onions, heavy cream, salt, and pepper into the pot. Mix thoroughly and simmer for 10 minutes, stirring from time to time.
Pour the soup into bowls and garnish with the shredded cheese, crumbled bacon, and sliced green onions.