Preheat oven to 400°F. Set a rack in the center.
Pat chicken dry. Season with salt, pepper, and garlic powder. Lightly dredge in flour, shaking off excess.
Heat olive oil in a large oven-safe skillet over medium-high. Sear chicken until golden, 2–3 minutes per side. Transfer to a plate.
Melt butter in the same skillet. Add onions and a pinch of salt. Cook over medium, stirring often, until deep golden, 15–20 minutes.
Stir in garlic and thyme. Cook until fragrant, about 30 seconds.
Deglaze with white wine, scraping up browned bits. Simmer until nearly evaporated, 2–3 minutes. Skip wine and use a splash of broth if preferred.
Pour in beef broth and balsamic. Simmer 3–5 minutes to slightly thicken and concentrate.
Nestle chicken back into the onions. Spoon sauce over each piece. Simmer gently 5 minutes to start cooking through.
Sprinkle Gruyère and Parmesan over the chicken. Transfer skillet to the oven and bake until cheese is bubbling and chicken reaches 165°F, 8–12 minutes.
Rest 5 minutes. Shower with parsley and serve hot with crusty bread or mashed potatoes.