Melt 3 tablespoons butter in a large skillet over medium-high heat. Add the onions and cook for 5 minutes. Reduce heat to medium, and continue cooking, stirring frequently, until the onions have softened, and achieved a deep brown color, 15 to 25 minutes. Stir in vinegar and thyme, and cook for 5 minutes more.
While the onions are cooking, place cubed potatoes in large pot and cover with salted water. Bring to a boil, then reduce heat to medium-low, cover, and simmer until the potatoes can be pierced easily with a fork, about 20 minutes. Drain the potatoes in a colander, and allow to steam for a minute.
To finish the dish, transfer the potatoes to a serving bowl, and use a potato masher to mix with Dijon mustard, horseradish, salt and cracked black pepper until smooth. Mix in softened butter, caramelized onions, and half-and-half until onions are distributed evenly.
Notes
Extra Creamy – To make these mashed potatoes extra creamy, add some sour cream or cream cheese to the mashed potatoes.
Potato Skins On or Off – You can make these mashed potatoes either way. It is your preference. I prefer to leave the skins off but that is my preference.
Refrigerating Leftovers - Place the potatoes in an airtight container and refrigerate up to 3 days.
Freezing Mashed Potatoes - Place the potatoes in a freezer-safe, airtight container or bag and freeze up to 3 months.