Preheat your oven to 350°F. Start by spraying a 2-quart casserole or baking dish with cooking spray and set it aside. This will prevent any sticking and ensure your casserole comes out easily.
Next, ensure your broccoli and cauliflower are fully thawed and well-drained. Excess moisture can lead to a soupy casserole, which is not the desired outcome. Set them aside while you prepare the sauce.
In a small bowl, combine the bread crumbs, 2 tablespoons of the melted butter, and ¼ cup of the parmesan cheese. Use a fork to fluff and mix until everything is well coated. This mixture will create a delightful topping.
In a medium saucepan, melt the remaining 2 tablespoons of butter over medium-high heat. Add the flour and whisk continuously for about one minute to create a roux. This step is crucial as it gives your sauce a nice base and prevents it from being runny.
Slowly add the milk to the roux, continuing to whisk to incorporate. Keep an eye on the heat to bring the mixture just to the point of simmering. Avoid boiling, as this could alter the texture of the sauce.
Add the remaining ¼ cup of parmesan cheese, the cream cheese, garlic powder, onion powder, salt, and pepper to the simmering milk mixture. Continue whisking until everything is melted and smooth.
Once your sauce is ready, add the thawed broccoli and cauliflower to the saucepan. Toss them gently until fully coated in the creamy sauce.
Transfer the mixture to your prepared baking dish, spreading it evenly. Top with the breadcrumb mixture you set aside earlier, making sure to cover the entire surface.
Bake uncovered in your preheated oven for about 30 to 40 minutes. You want the top to become lightly golden brown and crispy. Start checking at around 25 minutes, and be sure to rotate the dish halfway through for even cooking.
Once done, remove the casserole from the oven and let it cool slightly before serving. Enjoy warm!