Set a large Dutch oven or wide heavy-bottomed pot over medium-low heat and melt the butter with the olive oil, then add the sliced onions. The onions should soften gradually and turn from sharp and pale to deep brown, very soft, and jammy in about 45 minutes.
Season the caramelized onions with ¾ teaspoon salt and several grinds of black pepper, then stir in the garlic, thyme, and Worcestershire sauce for about 30 seconds. You should smell the onions shift from sweet and mellow to more savory and fragrant almost right away.
Pour in the white wine and scrape the bottom of the pot to loosen the browned bits. When the wine is mostly reduced after about 30 seconds, the pot should look glossy rather than wet.
Add the rigatoni, then pour in enough broth to just cover the pasta and bring it to a boil. Once it bubbles, the pasta should be mostly submerged in flavorful liquid with the onions distributed throughout.
Lower the heat to medium and cook uncovered, stirring every 1 to 2 minutes, until the pasta is just tender and the liquid has thickened into a sauce, 15 to 18 minutes. If the pot starts looking dry before the pasta is ready, add more broth a splash at a time so the pasta cooks without sticking.
Reduce the heat and stir in the heavy cream, then take the pot off the heat and add the Gruyère in small handfuls, stirring until each addition melts before adding more; finish with the Parmesan and adjust salt and pepper as needed. The sauce may look a little loose at first, but it should turn smooth, glossy, and well-coated as the cheese melts in.
Let the pasta stand for 5 to 7 minutes before serving, then spoon it out warm with extra Parmesan if desired. That short rest helps the sauce tighten so it clings to the rigatoni instead of pooling at the bottom.