Preheat the oven to 350 degrees F.
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. Serve immediately.