Prep the oven and pan: Preheat the oven to 375°F (190°C).
Lightly grease a 9x13-inch baking dish with cooking spray or butter.
Prepare the broccoli: If using fresh broccoli, steam or blanch for 2–3 minutes until bright green and crisp-tender. Drain well. If using frozen, thaw completely and squeeze out excess moisture.
Sauté the aromatics: In a medium saucepan, heat butter or oil over medium heat.
Add onion and cook for 3–4 minutes until softened. Stir in garlic and cook 30 seconds until fragrant.
Make the sauce: Sprinkle in the flour and cook, stirring, for 1 minute. Whisk in the milk slowly until smooth.
Simmer for 2–3 minutes to thicken slightly.
Add the creamy base: Remove from heat and whisk in sour cream or Greek yogurt, Dijon, paprika, thyme, salt, and pepper. Stir in 1 cup of the shredded cheese and Parmesan if using, until melted and smooth.
Combine the filling: In a large bowl, mix chicken and broccoli. If you want a heartier bake, fold in cooked rice or pasta.
Pour the sauce over and stir until everything is coated.
Assemble: Transfer the mixture to the prepared baking dish. Smooth the top. Sprinkle over the remaining 1 cup shredded cheese.
Add breadcrumbs for extra crunch if you like.
Bake: Bake uncovered for 20–25 minutes, until bubbling at the edges and the cheese is melted and golden.
Rest and serve: Let the casserole rest for 5–10 minutes before serving. This helps it set and makes it easier to scoop.