Preheat oven to 375°F (190°C) and butter a 9x13-inch baking dish. Steam or blanch cauliflower and broccoli for 4–5 minutes until just tender-crisp. Drain well.
Melt butter in a saucepan over medium heat. Cook onion until translucent, add garlic for 30 seconds. Whisk in flour and cook 1 minute. Slowly whisk in milk and cook until thickened. Remove from heat and stir in sour cream, Dijon, smoked paprika, half the cheddar, and half the Parmesan. Season with salt and pepper.
Fold the sauce into the drained vegetables and transfer to the prepared dish. Sprinkle remaining cheddar and Parmesan over the top.
Mix panko with olive oil or melted butter and sprinkle evenly on top. Bake 20–25 minutes until bubbly and golden. Broil 1–2 minutes if extra browning is desired. Let rest 5–10 minutes before serving.
Notes
To make ahead: assemble and refrigerate up to 24 hours; add a few extra minutes to bake time when cold.
Use almond flour or crushed pork rinds for a low-carb topping.
For extra richness, substitute 1/2 cup of the milk with cream.