Peel potatoes and cut into evenly sized 1-inch chunks. Place into large pot and cover with cold water. Salt water and cover. Bring to boil, reduce to simmer and cook until potatoes are tender, about 12 minutes.
While potatoes are boiling, heat butter in small skillet with deep sides over medium heat. Fry half the garlic in the butter until fragrant, about 20-30 seconds. Immediately remove from heat and pour in milk and remaining garlic. Place back on stove and keep warm over low heat. Keep this mixture warm over low heat (without boiling or simmering).
Drain potatoes and place back into hot pot to dry out 2 minutes.
Pour milk, butter and garlic mixture into potatoes and mash.
Add in cream cheese, salt and pepper, to taste.
Spoon into serving bowl and serve warm.
Optional Garlic Butter Topping
In a small skillet, melt butter over medium low heat. Add in thinly sliced garlic and fry until lightly golden brown. Remove from heat and spoon over mashed potatoes. Sprinkle with pepper and serve hot.