Season the chicken: Pat the chicken dry and season with salt, pepper, smoked paprika, and onion powder.
This helps it brown beautifully.
Heat the skillet: Add olive oil and 1 tablespoon butter to a large skillet over medium-high heat. When hot, add the chicken in a single layer.
Brown in batches: Sear chicken 3–4 minutes per side until golden and mostly cooked through. Work in batches to avoid steaming.
Transfer to a plate.
Sauté aromatics: Lower heat to medium. Add remaining 1 tablespoon butter, then the shallot and garlic. Cook 1–2 minutes until fragrant.
Cook the mushrooms: Add mushrooms and thyme (and rosemary, if using).
Season with a pinch of salt. Cook 5–7 minutes, stirring occasionally, until browned and their moisture evaporates.
Deglaze: Pour in chicken broth and scrape up any browned bits. Let it simmer 1–2 minutes to reduce slightly.
Make it creamy: Stir in heavy cream and cream cheese (if using).
Simmer 2–3 minutes until smooth and slightly thickened.
Add cheese and chicken: Stir in Parmesan until melted. Return chicken and any juices to the pan. Simmer 2–3 more minutes, just until the chicken is cooked through and the sauce coats the back of a spoon.
Finish and taste: Fold in spinach until just wilted.
Adjust salt and pepper. A small squeeze of lemon brightens the richness.
Serve: Garnish with parsley. Enjoy straight from the skillet or over cauliflower rice, zucchini noodles, or sautéed cabbage.