Preheat oven to 375-degrees F. Butter a 9- x 9-inch casserole dish, set aside.
Heat a braiser or large, deep frying pan over medium heat. Add the olive oil and 1 tablespoon butter; swirl pan to coat bottom of pan well. Add the onion and cook for two minutes, stirring frequently. Add the garlic and cook for 1 minute.
Add the cauliflower to the onions and garlic; stir to incorporate. Sprinkle with salt, paprika, black pepper and red pepper flakes. Cover braiser or frying pan, lower the heat to medium low and cook until cauliflower is crisp tender, stirring as needed.
Sprinkle the all-purpose flour over the vegetables. Stir lightly until the flour is well incorporated. Pour the warm milk over the vegetables. Add the bacon. Raise heat to medium. Cook and stir until sauce has thickened.
Turn off heat and move pan to a cool burner. Fold in 1 1/2 cups of the cheese (reserve the remaining half cup for the topping) until melted and sauce is smooth. Pour cauliflower mixture into prepared baking dish.
Melt the remaining 1 tablespoon of butter. Add the panko bread crumbs to a small bowl. Pour melted butter over the bread crumbs and toss lightly to coat well. Add the reserved 1/2 cup cheese and toss lightly. Sprinkle the topping evenly over the cauliflower mixture.
Bake for approximately 25 minutes until hot and bubbly and topping is golden brown. Remove from oven and allow to cool for five minutes. Sprinkle with chopped parsley prior to serving.