Place the potatoes in a large pot and cover with cold salted water. Bring to a boil, then reduce to a simmer and cook 15 to 20 minutes, until very tender.
While the potatoes cook, melt 2 tablespoons of butter in a skillet over medium heat. Add the red onion and cook 5 to 7 minutes until soft and lightly golden. Remove from heat.
Drain the potatoes well and return them to the hot pot for 1 minute to dry slightly. Mash until smooth.
Add the remaining butter and warm milk, then fold in the cooked onions, salt, and black pepper.
Transfer to a serving bowl and finish with chives or parsley.