Gruyere Mac and Cheese with Caramelized Onions
Get ready for the mac and cheese of your dreams! This isn’t your standard box mix – we’re talking perfectly al dente pasta wrapped in a silky blend of nutty Gruyere, Swiss, and Parmesan, all crowned with sweet caramelized onions that’ll make your kitchen smell like heaven.

What makes this version truly special is the combination of three distinctive cheeses working in perfect harmony. The Gruyere brings a sophisticated nuttiness, while Swiss adds stretch and melt-factor, and Parmesan provides that sharp, salty finish that keeps you coming back for “just one more bite.”

Ingredients

For the Caramelized Onions:
- 6 tablespoons unsalted butter, divided
- 1 sweet onion, thinly sliced
- Kosher salt to taste
For the Pasta:
- 8 ounces whole wheat elbow noodles
- 1/4 cup all-purpose flour
- 2 1/2 cups whole milk
For the Cheese Sauce:
- 6 ounces Gruyere cheese, freshly grated
- 4 ounces Swiss cheese, freshly grated
- 2 ounces Parmesan cheese, freshly grated
- 1 teaspoon smoked paprika
- 1/2 teaspoon freshly ground nutmeg
- 2 teaspoons Dijon mustard
For the Topping:
- 1/2 cup panko breadcrumbs

Steps

- Preheat your oven to 375°F (190°C). Thoroughly grease an 8×8 inch baking dish, making sure to get into the corners to prevent sticking.
- Begin with the caramelized onions: In a large skillet over medium-low heat, melt 2 tablespoons butter. Add onions and a pinch of salt. Cook for 40 minutes, stirring every 5-7 minutes. They’re done when deeply golden and jammy-looking. Don’t rush this step – proper caramelization takes time!
- While onions cook, bring a large pot of water to a rolling boil. Add enough salt so it tastes like sea water (about 1 tablespoon per quart). Cook pasta for 1 minute less than package directions. Test by biting – pasta should have a firm white dot in center.
- For the cheese sauce, melt remaining 4 tablespoons butter in a large pot over medium-high heat. Add flour, whisking constantly to prevent lumps. Cook roux for 1-2 minutes until it smells nutty and turns light golden.
- Gradually add half the milk, whisking constantly. The mixture will look very thick at first – this is normal! Once smooth, add remaining milk. Cook for 5 minutes, whisking frequently, until sauce coats the back of a spoon.
- Reduce heat to low and add cheeses (reserving 2 tablespoons Parmesan for topping). Stir until completely melted. Add seasonings and taste for salt – sauce should be slightly saltier than you think necessary as pasta will absorb some.
- Combine sauce with pasta and onions. Transfer to prepared dish. Top with panko and reserved Parmesan.
- Bake for 25 minutes until edges are bubbling and top is golden brown. Let rest for 5-10 minutes before serving – this allows sauce to set up properly.
