Heat the butter and oil together in a large, high-sided skillet over medium heat.
When the butter is bubbly, add the onions and cook for 30 to 40 minutes, until deeply browned and caramelized, stirring occasionally. Don’t rush this step, it makes all the difference in the world; the onions will become soft, sweet, and jammy. If you rush, they will burn and taste bitter.
Add the garlic, thyme, and Worcestershire and cook for 1 minute.
Add the wine (or an equal amount of beef broth) and cook for 1 minute, until the liquid evaporates, stirring frequently to incorporate the browned bits from the bottom of the pan into the sauce.
Add the pasta and 3 ½ cups of the broth and bring to a high simmer/low boil.
Cook for the shortest recommended cooking time on the package, until the pasta is al dente, stirring occasionally and adding more broth if needed to keep the pasta simmering. Note: Oftentimes, pasta cooked in broth or sauce takes a few minutes longer than pasta cooked in boiling water.
Reduce the heat to low, fold in the Swiss cheese, heavy cream, and 2 tablespoons of parmesan cheese and cook until the cheese melts, stirring constantly.
Season to taste with salt and pepper.
Ladle the pasta into bowls and serve with extra parmesan cheese on the side.