Preheat your oven to 375°F (190°C). Grease a 9x13-inch baking dish or a similar-sized casserole dish.
Bring a large pot of salted water to a boil. Add the cauliflower florets and cook for about 5 minutes until just tender. Drain and set aside.
In a medium saucepan, melt the butter over medium heat. Once melted, whisk in the flour and cook for about 1 minute to create a roux.
Gradually whisk in the milk, ensuring there are no lumps. Continue to cook, stirring frequently, until the sauce thickens, about 5-7 minutes.
Stir in the garlic powder, onion powder, mustard powder, cayenne pepper (if using), and season with salt and pepper.
Remove the saucepan from heat and add 1 1/2 cups of the cheddar cheese and all of the Parmesan cheese, stirring until melted and smooth.
Combine the cooked cauliflower with the cheese sauce, mixing well to coat all the florets.
Pour the cauliflower and cheese mixture into the prepared baking dish. If using, sprinkle the breadcrumbs and the remaining 1/2 cup of cheddar cheese on top.
Bake in the preheated oven for 25-30 minutes, or until the top is golden and bubbly.
Remove from the oven and let it cool for a few minutes. Garnish with chopped parsley before serving.