Start by peeling your onions and cutting them in half from the root to the stem. Place the flat side down on your cutting board and slice them into very thin half-moons.
Place a large, heavy-bottomed skillet or a Dutch oven over medium heat. Add the butter and the olive oil, allowing the butter to melt and mingle with the oil until the mixture starts to foam slightly. Once the pan is hot, toss in the sliced onions and use a wooden spoon to coat them thoroughly in the fat.
For the first ten minutes, keep the heat at a medium level and stir the onions frequently. You want them to soften and turn translucent without developing too much color right away. Sprinkle in your salt now, as it helps draw out the moisture faster.
Turn the heat down to medium-low and settle in for the long haul. True caramelization takes time and cannot be rushed with high heat, which would only result in burnt, bitter edges. Stir the onions every five to seven minutes for the next thirty to forty minutes.
Bring a large pot of salted water to a rolling boil. Add your pasta and cook it for about one or two minutes less than the package directions suggest. Before you drain the pasta, scoop out at least one full cup of the starchy pasta water.
Once the onions are dark and jammy, add the minced garlic and dried thyme to the skillet. Cook for just one minute until you can smell the garlic. Pour in the white wine or broth and use your wooden spoon to scrape up all the brown bits stuck to the bottom of the pan.
Let the liquid simmer for a few minutes until it has reduced by half and the sharp smell of alcohol has disappeared. Stir in the balsamic vinegar and the black pepper. If you want a creamier version of this dish, stir in the heavy cream now and let it come to a very gentle simmer.
Add the cooked noodles directly into the skillet with the caramelized onions. Pour in half of your reserved pasta water and half of the grated Parmesan cheese. Use tongs to lift and swirl the pasta so every strand is coated in the onion mixture. Give the pasta one final taste to see if it needs more salt or pepper.