Preheat your oven to 375°F (190°C). Bring a large pot of salted water to a boil and cook the macaroni until al dente (about 1 minute less than the package instructions). Drain well and set aside.
In a large cast iron skillet over medium heat, melt the unsalted butter. Once melted, whisk in the flour and cook for 1-2 minutes until bubbling and fragrant.
Slowly pour the warm milk into the skillet, whisking constantly to prevent lumps. Simmer the mixture for 3-5 minutes, whisking frequently, until the sauce thickens enough to coat the back of a spoon.
Turn off the heat completely. Stir in 2 cups of the grated cheddar, all of the grated gruyere, dry mustard powder, garlic powder, salt, and pepper. Stir until the cheese is completely melted and the sauce is smooth.
Fold the cooked macaroni directly into the cheese sauce right in the skillet until evenly coated.
Sprinkle the remaining 1 cup of sharp cheddar cheese evenly across the top.
Bake for 20-25 minutes until the cheese is bubbling and deeply golden on top. Let the dish rest for 5 minutes before serving.