In a large pot over medium heat, combine potatoes, salt, and enough cold water to cover to about an inch.
Bring to a boil. Lower heat, cover, and continue to cook for about 15 to 20 minutes or until potatoes are tender enough to pierce with a fork.
Remove potatoes from heat and drain. Return to the pot and continue to cook on very low heat for about 3 to 5 minutes to allow extra moisture to evaporate.
Meanwhile, in a skillet over medium heat, cook bacon until golden brown and crisp. With a slotted spoon, remove from pan and drain on paper towels.
In a saucepan over medium heat, combine heavy cream and butter, and warm until butter is melted.
In a deep bowl, combine mashed potatoes and heavy cream-butter mixture. Mash potatoes with a fork until smooth and have no lumps.
Add cheese, bacon, and green onions. Season with salt and pepper to taste. Stir to combine.
When serving, garnish with additional crisp bacon, cheese, and green onions, if desired. Serve hot.