Bring large pot of lightly salted water to a boil.
Meanwhile break cauliflower into bite size florets. When water is boiling carefully add cauliflower.
Reduce heat to medium high and cook cauliflower about 15 minutes till fork tender.
Drain cauliflower well. Add back to pot, then add 2 tbsp. butter, sour cream, salt & pepper, garlic powder, onion powder, cayenne pepper and mash with potato masher. When you have nice consistency add cheese and combine till melted.
While cauliflower is cooking thinly slice onions and add to saute pan with 1 tbsp. butter and olive oil. Cook about 10 minutes, then add couple dashes of salt and combine. Continue to cook onions over medium heat another 15-20 minutes stirring several times. During the last few minutes of cooking drizzle with balsamic vinegar.
Top on Mashed Cauliflower and serve immediately or you could also keep warm in oven till ready to eat.