Prep the chicken: Pound the chicken breasts to an even 1/2–3/4 inch thickness for even cooking. Season both sides with 1 teaspoon salt, 1/2 teaspoon black pepper, and the Italian seasoning.
Sear the chicken: Heat 1 tablespoon olive oil in a large oven-safe skillet over medium-high.
Add the chicken and cook until golden, 4–5 minutes per side. Remove to a plate; it will finish cooking later.
Sauté the aromatics: Lower heat to medium. Add remaining 1 tablespoon olive oil and the butter.
Stir in the onions with a pinch of salt and cook until soft and lightly golden, about 5 minutes.
Cook the mushrooms: Add sliced portobellos and cook, stirring, until they release liquid and start to brown, 6–8 minutes. Don’t rush this step; browning builds flavor.
Add garlic and thyme: Stir in garlic, thyme, and red pepper flakes if using. Cook 30–60 seconds until fragrant.
Deglaze: Pour in the balsamic vinegar.
Scrape up the browned bits from the pan. Let it reduce by about half, 1–2 minutes.
Make the sauce: Stir in chicken broth and Dijon. Simmer 2 minutes.
Turn heat to low and whisk in the cream. Taste and adjust salt and pepper as needed.
Return the chicken: Nestle the seared chicken back into the skillet. Spoon mushrooms and sauce over the top.
Simmer gently 3–4 minutes, until the chicken is just cooked through (165°F internal temperature).
Cheese it up: Sprinkle mozzarella evenly over the chicken and sauce, then top with Parmesan.
Broil to finish: Transfer the skillet to the oven and broil on high 1–3 minutes, until the cheese is melted, bubbling, and lightly browned. Watch closely so it doesn’t scorch.
Rest and serve: Let it rest 3 minutes. Garnish with chopped parsley.
Serve with your favorite sides and spoon that sauce over everything.