In a large stock pot, arrange the potato chunks. Add enough water or chicken broth to cover the potatoes. Make sure to salt the broth or water with 1-2 teaspoons of salt.
Bring the potatoes to a boil and cook for 15-20 minutes, or until the potatoes are fork-tender. Drain the liquid from the potatoes.
Return the cooked potatoes to the pan. Add in butter, cream cheese, sour cream, salt, black pepper, and garlic powder. Using a potato masher, mash the potatoes until most of the clumps are removed.
Preheat the oven to 375 degrees Fahrenheit.
Add in the milk, up to 1/2 cup, and continue mashing until the potatoes are smooth and fluffy. Add more milk if desired.
To the potatoes, add 1 cup of sharp cheddar cheese and half of the cooked bacon crumbles. Stir to combine.
Spread the potatoes in a lightly greased 9 x 13 inch casserole dish. Top with remaining cheese and bacon. Bake for 20-25 minutes or until the cheese is melted and bubbly.
Garnish with green onions and serve immediately.