01 - Preheat oven to 350°F (180°C) and grease a 9 x 13 inch baking dish.
02 - Boil elbow macaroni in salted water until just al dente, about one minute less than package directions. Drain and set aside.
03 - Melt 4 tablespoons butter in a large saucepan over medium heat. Add flour and whisk constantly for 1–2 minutes without browning.
04 - Gradually whisk in whole milk until smooth. Simmer gently for 3–4 minutes until sauce thickens slightly. Remove from heat and add cheddar, Gruyère, mustard, garlic powder, onion powder, salt, and pepper. Stir until smooth and cheese melts.
05 - Toss drained macaroni with cheese sauce until evenly coated. Transfer mixture into prepared baking dish.
06 - Mix panko breadcrumbs with melted butter, Parmesan cheese, and paprika in a small bowl. Sprinkle topping evenly over macaroni.
07 - Bake in preheated oven for 25–30 minutes until the topping is golden and sauce is bubbling.
08 - Allow to rest for 5 minutes before serving to set.