Adapted from simplyrecipes.com
Several medium or large onions, yellow, white, or red
Balsamic vinegar (optional)
Use a wide, thick-bottomed sauté pan or cast iron for maximum pan contact with the onions. Coat the bottom of the pan with olive oil, or a mixture of olive oil and butter (about 1 teaspoon per onion). Heat the pan on medium high heat until the oil is shimmering. Add the onion slices and stir to coat the onions with the oil. Spread the onions out evenly over the pan and let cook, stirring occasionally. Reduce the heat to medium low to prevent the onions from burning or drying out. After 10 minutes, sprinkle some salt over the onions, and if you want, you can add some sugar to help with the caramelization process. (I add only about a teaspoon of sugar for 5 onions, you can add more.) One trick, by the way, to keeping the onions from drying out as they cook is to add a little water to the pan.
Let cook for 30 minutes to an hour more, stirring every few minutes. As soon as the onions start sticking to the pan, let them stick a little and brown, but then stir them before they burn. The trick is to let them alone enough to brown (if you stir them too often, they won’t brown), but not so long so that they burn. After the first 20 to 30 minutes you may want to lower the stove temperature a little, and add a little more oil, if you find the onions are verging on burning. A metal spatula will help you scrape up the browned bits from the bottom of the pan as the caramelization proceeds. As the onions cook down, you may find you need to scrape the pan every minute, instead of every few minutes. Continue to cook and scrape, cook and scrape, until the onions are a rich, browned color. At the end of the cooking process you might want to add a little balsamic vinegar or wine to help deglaze the pan and bring some additional flavor to the onions.
Store refrigerated for several days in an air-tight container.