Slice onions into thin, even strips so they cook evenly.
Heat olive oil in a large skillet over medium-low. Add the onions and a pinch of salt.
Cook for about 10 minutes, stirring occasionally, until onions soften and release moisture.
Continue cooking 20–25 more minutes. If the onions begin sticking, add a splash of water to deglaze and prevent burning.
Stir in the balsamic vinegar during the last 10 minutes of cooking to deepen the color, sweetness, and tang. Cook until the onions are thick and jammy.
Add more salt or vinegar to balance the flavors if needed.