Heat the oven: Preheat to 425°F (220°C).
Lightly grease a 9x13-inch baking dish or similar casserole.
Roast the cauliflower: Toss florets with olive oil, salt, and pepper. Spread on a baking sheet and roast 18–22 minutes, flipping once, until browned at the edges and just tender.
Cook the pasta: Boil in well-salted water until very al dente (1–2 minutes shy of package time). Drain and set aside.
Make the cheese sauce base: In a large pot over medium heat, melt 4 tablespoons butter.
Whisk in flour and cook 1–2 minutes, whisking, until foamy and lightly golden.
Add milk gradually: Slowly whisk in the milk, a little at a time, to avoid lumps. Simmer 3–5 minutes, stirring, until the sauce thickens enough to coat the back of a spoon.
Season and add cheese: Off the heat, whisk in Dijon, garlic powder, paprika, and a pinch of salt and pepper. Stir in cheddar and Gruyère until smooth.
Taste and adjust seasoning.
Combine: Fold the roasted cauliflower and pasta into the sauce. If it seems too thick, add a splash of milk. The mixture should be creamy and scoopable.
Make the topping: Melt 1 tablespoon butter and toss with panko and Parmesan.
Add a pinch of salt and pepper.
Assemble and bake: Spread the macaroni mixture in the baking dish. Sprinkle evenly with the panko topping. Bake at 425°F for 12–15 minutes, until bubbling and golden.
Rest and serve: Let it sit 5–10 minutes to set slightly.
Garnish with a little cracked pepper or chopped parsley, if you like. Serve warm.