01 - Preheat oven to 400°F if baking with a breadcrumb topping.
02 - Bring a large pot of salted water to a rolling boil. Add elbow macaroni and cook until just al dente according to package directions. Drain thoroughly and set aside.
03 - In a large saucepan over medium heat, melt 2 tablespoons of butter. Whisk in the flour and cook for 1 minute, stirring constantly to form a smooth roux.
04 - Gradually whisk in the warmed milk, ensuring no lumps remain. Continue cooking and stirring until the sauce thickens and coats the back of a spoon, about 5 minutes.
05 - Remove the pan from heat. Stir in the grated cheddar, Gruyère (if using), salt, pepper, nutmeg, and Dijon mustard until the cheeses are fully melted and the sauce is silky smooth.
06 - Fold the drained macaroni into the cheese sauce, tossing gently until every noodle is evenly coated.
07 - Transfer the macaroni and cheese into a buttered baking dish. Combine breadcrumbs, melted butter, and Parmesan; sprinkle evenly over the surface. Bake for 15–20 minutes until the top is golden brown and the edges are bubbly.
08 - Serve immediately while hot. Garnish with additional grated cheese or fresh herbs if desired.