Preheat oven to 400 degrees F. Line a 9x9 baking dish with parchment paper. Prepare the onions by slicing off ¼" from the bottom and top so they lay flat. You can keep the skin on or take it off if you wish.
Transfer the onions to the lined baking dish. In a small bowl, whisk together the olive oil and balsamic vinegar, then drizzle it over the onions. Add a pat of butter to each onion, and a crack of sea salt and pepper.
Bake for ~60 minutes or until the onions are tender and creamy. You can use a fork or knife to see if they are done to your liking.
Serve with butter, balsamic vinegar, and fresh herbs!
Notes
Try to find onions that are about the same size. However, I was not able to do that, so I just had a few onions that were slightly more cooked than others.
To make just 1 or 2 onions at a time, use less olive oil and balsamic (1 tablespoon each).
Rosemary, thyme, and other herbs would be great additions.
I used a ceramic Le Creuset baking dish for this recipe and did not have issues with the onion juices sticking to it. However, you should line any other type of dish with parchment paper to avoid staining it.