Cook pasta in salted water until al dente. Reserve ½ cup pasta water, then drain.
Heat butter and olive oil in a large skillet over medium-low heat. Add sliced onions, salt, and pepper.
Cook for 15–20 minutes, stirring occasionally, until the onions are soft and deeply golden. Stir in thyme.
Sprinkle flour over the onions and stir well.
Slowly pour in the beef broth while stirring. Scrape the flavorful browned bits from the bottom of the pan.
Simmer until slightly thickened, then reduce the heat and stir in the heavy cream.
Add Parmesan and stir until melted and creamy.
Add the cooked pasta and toss until coated.
Add reserved pasta water a little at a time until the sauce reaches your desired consistency.
Serve immediately with extra Parmesan and thyme if desired.