Peel and cut potatoes into 1-inch chunks, then place them in a large pot and cover with cold water by about an inch. While the water comes to a boil, dice the onion into 1/4-inch pieces. Once the potato water is boiling, add salt to the pot and maintain a gentle boil. Simultaneously, melt the butter in a skillet over low heat and add the diced onion and sugar. The onions will caramelize slowly while the potatoes cook—this is intentional, as low heat develops deep, sweet flavors. I like to use a skillet that distributes heat evenly; it prevents the onions from catching on hot spots.
Continue boiling potatoes until they're completely tender and break easily with a fork, about 20–25 minutes total. Meanwhile, stir the onions occasionally in the skillet—they should turn golden and sweet, not brown. Once the potatoes are fork-tender, carefully drain them in a colander and return them to the pot. The onions should be golden and soft by now; if they need a minute more, let them finish while you proceed with mashing.
Using a potato masher or ricer, mash the hot potatoes until they reach your desired consistency—I prefer them slightly chunky for texture, but mash to your preference. Pour in the warm milk gradually while mashing, incorporating it completely to create a smooth, creamy base. The warmth of the milk ensures the potatoes stay hot and absorb the liquid evenly. Season with freshly ground black pepper and taste; adjust salt if needed since you already seasoned the cooking water.
Gently fold the caramelized onions from Step 2 (with all their butter and pan juices) into the mashed potatoes, stirring until evenly distributed. The warm butter mingles with the creamy potato base, enriching every bite. Transfer to a serving dish and garnish with fresh parsley if desired for a pop of color and freshness.