Peel the potatoes and cut them into uniform pieces, about 1 to 2 inches in size. This ensures they cook evenly.
Rinse the cut potatoes under cold water to remove excess starch, which can make the mashed potatoes gluey.
Place the potatoes in a large pot and cover with cold water by about an inch. Add a generous pinch of salt.
Bring the water to a boil over high heat, then reduce the heat to medium-low and simmer until the potatoes are tender when pierced with a fork, about 15 to 20 minutes.
Drain the potatoes well in a colander.
While the potatoes are cooking, combine the milk (or cream) and butter in a small saucepan. Heat over low heat until the butter is melted and the mixture is warm. Do not boil.
Return the drained potatoes to the pot or place them in a large bowl.
Use a potato masher, ricer, or hand mixer on low speed to mash the potatoes until smooth.
Gradually add the warm milk and butter mixture to the potatoes, stirring or mashing until the mashed potatoes reach your desired consistency. Be careful not to overmix, as this can make the potatoes gluey.
Season with salt and freshly ground black pepper to taste.
Serve the mashed potatoes hot, with an extra pat of butter on top if desired.