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