Peel the potatoes and rinse them in cold water. Chop the potatoes in fourths.
Place the potatoes into a large pot and cover with water. Bring to a boil and cook until fork tender, 20 to 25 minutes.
Drain the potatoes, and then return them to the pan. With the burner on low heat, mash the potatoes with a potato masher; the more steam that's released while you mash, the better. Mash for about 5 minutes. Turn off the burner.
Add the butter, cream cheese, half-and-half, and seasonings. Stir to combine, and if the mixture needs thinning, add milk. Check the seasonings, adding salt and pepper, to taste.
Pour the mashed potatoes into a large casserole pan. Dot the surface with butter. Cover with foil and bake in the oven for 15 minutes.
Remove the foil and continue baking for 10 more minutes.