Prep the chicken and broccoli: Pat the chicken dry and season with salt, pepper, smoked paprika, and thyme.
Cut broccoli into small, even florets. This helps everything cook at the same pace.
Sear the chicken: Heat a large skillet over medium-high. Add oil, then the chicken in a single layer.
Cook 5–7 minutes, stirring once or twice, until golden and just cooked through. Transfer to a plate and tent loosely with foil.
Sauté aromatics: Lower heat to medium. Add butter to the same skillet.
Stir in onion and cook 2–3 minutes until softened. Add garlic and cook 30 seconds until fragrant.
Steam-sauté the broccoli: Add broccoli and chicken broth. Cover and cook 3–4 minutes until bright green and crisp-tender.
Uncover and let excess liquid simmer off until mostly reduced.
Build the creamy base: Stir in heavy cream and cream cheese. Whisk or stir until smooth and slightly thickened, about 2 minutes. Add dried mustard and a pinch of red pepper flakes if using.
Add cheese: Sprinkle in cheddar (and mozzarella if using) a handful at a time, stirring until melted and velvety.
Keep heat on low to avoid breaking the sauce.
Combine with chicken: Return chicken and any juices to the pan. Toss to coat everything in the sauce. Simmer 1–2 minutes to warm through.
Finish and taste: Add a small squeeze of lemon to brighten the flavors.
Taste and adjust salt and pepper. The sauce should be glossy and cling to the chicken and broccoli.
Serve: Spoon into bowls and garnish with a little extra cheese or cracked pepper. Enjoy hot.