1. Heat olive oil in a large stainless steel or cast-iron skillet over medium-low heat. 2. Add the onions cook for 50 minutes to one hour, until deep golden brown and caramelized, stirring every 3-5 minutes to avoid burning. *Do not stir too often, however, or the onions will not caramelize. They should be brown and stick slightly to the skillet, but not burn. Add the garlic and cook for one more minute.
3. After onions have cooked for 30 minutes, place the potatoes in a large pot and add enough water to cover them by one inch. Bring to a boil, then reduce heat to a rapid simmer and cook for ten minutes or until the center of potatoes can be pierced through by a fork. Drain the potatoes and set aside.
4. Place the pot back on the burner over medium heat and melt the butter. Add the buttermilk, sour cream, and Gouda cheese and stir until the ingredients are well combined and the cheese has mostly melted.
5. Add the potatoes and mash to desired consistency using a potato masher or handheld mixer. You could also transfer everything to a stand-up mixer.
6. Stir in the caramelized onion and garlic and add salt and pepper to taste. Serve warm.