Prep the chicken: Pat chicken dry.
Mix salt, pepper, garlic powder, onion powder, and paprika. Season both sides generously.
Sear to build flavor: Heat olive oil in a large skillet over medium-high. Add chicken and sear 4–5 minutes per side until golden.
Remove to a plate. It doesn’t need to be cooked through yet.
Sauté aromatics: Reduce heat to medium. Add butter, then garlic.
Cook 30 seconds until fragrant. Don’t let it brown.
Wilt the spinach: Add fresh spinach and a pinch of salt. Cook until just wilted, 1–2 minutes.
If using frozen spinach, add it now and stir until warmed through. Squeeze out extra moisture before adding.
Add artichokes: Stir in the artichoke hearts. Let them warm and pick up flavor for about 1 minute.
Build the sauce: Pour in chicken broth and bring to a gentle simmer, scraping up any browned bits.
Stir in cream cheese until melted and smooth.
Creamy finish: Add heavy cream, Parmesan, and half the mozzarella. Stir until the cheese melts and the sauce is silky. Taste and season with salt, pepper, and red pepper flakes if you like a little heat.
Nestle the chicken: Return the chicken and any juices to the skillet.
Spoon sauce over the top. Reduce heat to low and cover. Simmer 6–10 minutes, until the chicken reaches 165°F in the thickest part.
Melt and brighten: Sprinkle remaining mozzarella over the chicken and cover for 1–2 minutes to melt.
Add lemon juice to taste to lift the richness.
Garnish and serve: Top with chopped parsley or basil. Serve over pasta, rice, or with crusty bread to soak up the sauce.