Melt the butter in a large pot or Dutch oven over medium heat. Add the sliced onions, thyme, salt, and pepper. Cook slowly, stirring occasionally, for 15 to 20 minutes until the onions are deeply caramelized and sweet. This step builds the foundational flavor.
Add the minced garlic to the pot and cook for 1 minute until fragrant.
Pour in the beef broth and bring the mixture to a simmer. Add the uncooked pasta to the pot.
Cover the pot and cook according to the pasta package directions, stirring every few minutes to prevent sticking, until the pasta is al dente and most of the liquid is absorbed (about 10 to 12 minutes).
Reduce the heat to low. Stir in the heavy cream.
Remove the pot from the heat. Stir in 3/4 cup of the Gruyère cheese and 1/4 cup of the Parmesan cheese until the sauce is smooth and creamy.
Serve the French onion pasta immediately in bowls. Top each serving with the remaining Gruyère and Parmesan cheese, and garnish with fresh parsley.
Notes
For an even deeper flavor, use high-quality beef broth or substitute half the broth with dry white wine (allow the wine to cook down for 2 minutes before adding the rest of the broth).
If you prefer a richer, cheesier sauce, you can add 2 ounces of softened cream cheese along with the heavy cream.
This recipe is excellent for weeknight pasta meals because it minimizes cleanup.