01 - Preheat oven to 350°F. Lightly grease a 2-quart baking dish.
02 - Cook macaroni in salted boiling water until just al dente, approximately 8-10 minutes. Drain and set aside.
03 - In a large saucepan, melt 4 tablespoons butter over medium heat. Stir in flour and cook for 1 minute to form a roux.
04 - Gradually whisk in milk, stirring constantly until smooth. Cook for 4-5 minutes until the mixture is slightly thickened.
05 - Reduce heat to low. Add cheddar, Gruyère, Dijon mustard, garlic powder, onion powder, salt, and pepper. Stir until cheese is completely melted and sauce is smooth.
06 - Add drained macaroni to the cheese sauce and stir until evenly coated.
07 - Pour the macaroni and cheese mixture into the prepared baking dish.
08 - In a small bowl, combine breadcrumbs with melted butter and Parmesan cheese. Sprinkle the mixture evenly over the macaroni surface.
09 - Bake uncovered for 25-30 minutes until the top is golden brown and the mixture is bubbling at the edges.
10 - Remove from oven and allow to stand for 5 minutes. Garnish with parsley if desired before serving.