Boil pasta in salted water until al dente. Drain and set aside; reserve a little cooking water.
Season chicken with half the salt, pepper, paprika, and mustard powder.
Heat olive oil in a large skillet over medium-high. Sear chicken until browned and cooked through, 5–6 minutes. Transfer to a plate.
Melt butter in the same skillet. Soften onion for 3 minutes, then stir in garlic for 30 seconds.
Sprinkle in flour and cook, stirring, 1 minute to form a paste.
Whisk in chicken broth, then milk. Simmer gently, stirring, until slightly thickened, 3–5 minutes.
Lower heat. Stir in white cheddar and Parmesan until smooth. Add remaining salt, pepper, paprika, mustard, and red pepper flakes if using.
Fold in spinach to wilt. Add lemon juice to brighten the sauce.
Toss in cooked pasta and chicken, loosening with a splash of pasta water if needed. Warm through and garnish with parsley.