Prep the oven and pan: Preheat your oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish or similar casserole pan.
Par-cook the vegetables: Bring a large pot of salted water to a boil.
Add the cauliflower and cook for 2 minutes, then add the broccoli and cook for 1 to 2 minutes more. Drain and rinse under cold water to stop the cooking. Pat dry with clean towels to remove excess moisture.
Make the roux: In a medium saucepan over medium heat, melt the butter.
Whisk in the flour and cook for 1 to 2 minutes, stirring constantly, until the mixture smells toasty but not browned.
Add the milk: Slowly pour in the warm milk while whisking. Keep whisking until smooth. Simmer for 3 to 5 minutes, stirring often, until slightly thickened and it coats the back of a spoon.
Season and add cheese: Stir in Dijon, garlic powder, onion powder, and smoked paprika if using.
Add 1 3/4 cups cheddar and 1/4 cup Parmesan. Stir until melted and smooth. Season with salt and pepper to taste.
The sauce should be well-seasoned and pleasantly cheesy.
Combine: Add the broccoli and cauliflower to the baking dish. Pour the cheese sauce over the vegetables and toss gently with a spatula to coat everything evenly.
Top it: In a small bowl, mix breadcrumbs with olive oil (or melted butter), the remaining 1/4 cup Parmesan, and a pinch of salt and pepper. Sprinkle evenly over the casserole.
Scatter the remaining 1/4 cup cheddar on top for extra cheesiness.
Bake: Bake for 20 to 25 minutes, until the top is golden and the edges are bubbling. If you want a deeper color, broil for 1 to 2 minutes at the end, watching closely.
Rest and serve: Let the bake rest for 5 to 10 minutes so it sets slightly. Garnish with chopped parsley or chives if you like.
Serve warm.