Heat oil in a large non-stick skillet over medium-high heat; add onions and ½ teaspoon salt. Cook and stir 15 minutes or until moisture has evaporated and onions are completely wilted.
Reduce heat to medium-low. Cook and stir for 30-40 minutes or until onions are caramelized. (If necessary, add oil or water, 1 tablespoon at a time, if onions begin to stick to the pan).
When onions are dark, golden brown, remove to a bowl. Cut onions into one-inch pieces with kitchen shears.
Place potatoes and garlic in large saucepan; cover with water. Bring to boil. Reduce heat; cover and simmer for 18-22 minutes or until tender.
Drain potatoes; place in large bowl and mash. Add the sour cream, milk, pepper, and remaining salt; mash until blended. Stir in caramelized onions.
Transfer to a serving bowl. Drizzle with butter; sprinkle with cheese and bacon.
Notes
Slightly adapted from Light & Tasty Magazine November 2006