Preheat oven to 375°F (190°C). Prepare an oven-safe skillet or a baking dish.
Heat 1 tbsp olive oil + 1 tbsp butter in skillet over medium-low. Add sliced onions and a pinch of salt. Cook slowly 25–35 minutes, stirring every 5–7 minutes until deep golden and caramelized. Add garlic during the last minute.
While onions cook, pat chicken dry and season. Sear chicken in a hot skillet 2–3 minutes per side until golden (it does not need to be cooked through). Remove and set aside.
When onions are caramelized, deglaze the pan with 1/2 cup broth, scraping browned bits. Stir in heavy cream, cream cheese, and Dijon; whisk until smooth and simmer 2–3 minutes. Add thyme and adjust seasoning.
Nestle seared chicken into the onion-cream mixture. Spoon onions over the tops. Sprinkle with 1 1/4 cups Gruyère and Parmesan (reserve the last 1/4 cup for the final top if desired).
Bake 20–25 minutes, or until chicken reaches 165°F (74°C) and cheese is bubbly. Tent with foil if browning too quickly.
Let rest 5 minutes, garnish with parsley, and serve.