Place the potato pieces in a large pot and cover with cold water by about an inch. Add 1/2 tsp salt. Bring to a gentle boil over medium-high heat, then reduce heat to maintain a simmer.
Simmer until the potatoes are very tender when pierced with a fork, about 15 to 20 minutes depending on size.
While the potatoes cook, combine the milk, cream, garlic (if using), and butter in a small saucepan. Warm over low heat until the butter melts and the mixture is hot but not boiling. Keep warm.
Drain the potatoes in a colander and return them to the hot pot. Shake the pot briefly over low heat to dry the potatoes for 30 to 60 seconds; this helps prevent watery mash.
For the creamiest texture, pass the potatoes through a potato ricer or food mill back into the pot or a large bowl. If you don't have one, mash with a hand masher until mostly smooth.
Pour the warm milk-cream-butter mixture over the mashed potatoes a little at a time, stirring gently with a wooden spoon or rubber spatula until you reach your desired consistency.
Season with the remaining salt and the black pepper. Taste and adjust seasoning. Fold in chopped chives or parsley if using.
Serve immediately, or keep warm over very low heat, stirring occasionally. If the potatoes thicken while waiting, whisk in a splash of warm milk to loosen them.