In a 5- to 6-quart pan over medium-high heat, melt butter with olive oil. Add onions and stir often until they're limp and liquid has evaporated, 8 to 10 minutes.
Add 2 cups wine and the sugar; stir occasionally until liquid has evaporated and onions are sweet to taste and very tender, about 30 minutes. Add balsamic vinegar and salt to taste; stir often until flavors are blended, about 5 minutes. Serve warm.