Preheat the oven and prep the pan. Heat your oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish with nonstick spray or a swipe of butter.
Prep the broccoli. If using fresh broccoli, cut into bite-size florets and steam or blanch 2–3 minutes until bright green and just tender; drain well.
If using frozen, thaw and pat dry. Excess water makes the casserole watery.
Sweat the aromatics. In a large skillet over medium heat, melt the butter. Add onion and cook 3–4 minutes until soft. Stir in garlic for 30 seconds until fragrant.
Make a quick roux. Sprinkle flour over the onions and stir for 1 minute.
Slowly whisk in the milk and chicken broth until smooth. Simmer 3–5 minutes, whisking, until slightly thick and creamy.
Finish the sauce. Remove from heat. Stir in sour cream (or Greek yogurt), 1 1/2 cups of the cheddar, salt, pepper, onion powder, and paprika.
Taste and adjust seasoning. The sauce should be well seasoned now.
Combine the filling. In a large bowl, mix chicken, broccoli, and cooked rice or pasta (if using). Pour the cheese sauce over and gently fold until everything is coated.
Assemble. Spread the mixture evenly in the prepared baking dish. Top with the remaining 1/2 cup cheddar.
Add a crunchy topping (optional). Toss panko or crushed crackers with olive oil or melted butter.
Sprinkle over the top for extra texture.
Bake. Place on the middle rack and bake 20–25 minutes, until the edges are bubbling and the top is golden. If the top needs more color, broil for 1–2 minutes, watching closely.
Rest and serve. Let it sit 5–10 minutes before scooping. This helps the sauce set and keeps portions neat.