Heat the oil in a skillet set over medium heat. Add in the onions and cook, stirring often, until the onions are deeply caramelized, about 30-40 minutes. Add in the balsamic vinegar and use it to scrape off any onion bits that are stuck in the pan. Cook until evaporated, remove from the heat and set aside.
Add the remaining ingredients into a high speed blender or a food processor. Add in half of the caramelized onions and blend until smooth, scraping down the sides as needed. Pour into a bowl and fold in the remaining onions. Serve.