In a 5- to 6-quart pan over medium-high heat, stir onion and garlic in oil until limp, about 5 minutes. Scrape into a small bowl.
Pour 1 quart water into the 5- to 6-quart pan (no need to wash pan) and bring to a boil over high heat.
Peel and rinse potatoes; cut into 1-inch chunks. Add potatoes to boiling water; cover and return to a boil, then reduce heat to medium and simmer until potatoes mash easily, 8 to 10 minutes. Drain potatoes and return to pan.
Add onion mixture, sour cream, mayonnaise, cream, and butter to potatoes. Mash with a potato masher or an electric mixer until mixture is as lumpy or smooth as you like, gradually beating in enough of the milk to reach desired consistency. Add salt and pepper to taste.