Slice the onions thinly. Aim for even slices so they cook at the same rate.
Pat the chicken dry and season both sides with half the salt and the pepper.
Start the onions on the stove. In a large skillet over medium heat, melt butter with olive oil. Add onions and a pinch of salt. Cook 15–20 minutes, stirring often, until soft and golden.
You want deep color for maximum flavor, not burnt edges.
Add garlic and deglaze. Stir in garlic for 30 seconds. Splash in 1/4 cup of the beef broth to deglaze, scraping up browned bits. This step builds that French onion depth.
Load the slow cooker. Transfer the onion mixture to the crockpot.
Stir in the remaining beef broth, Worcestershire, balsamic (if using), thyme, onion powder, bay leaf, and remaining salt. Taste the broth now; it should be savory with a hint of sweetness from the onions.
Nestle in the chicken. Place the chicken on top of the onions, pressing slightly so some liquid covers them.
Cook low and slow. Cover and cook on Low for 4–5 hours (breasts) or 5–6 hours (thighs), until the chicken is very tender and reaches 165°F internally. High works in a pinch (2–3 hours), but Low brings out better onion flavor.
Reduce the sauce (optional but great). Remove chicken to a plate and tent with foil.
Ladle the onions and broth into a skillet and simmer 5–8 minutes to thicken slightly. You’re looking for a spoon-coating consistency. If you prefer it thicker, whisk in 1/4 teaspoon xanthan gum and simmer 1–2 minutes.
Assemble and melt the cheese. Return onions to the crock, place chicken on top, cover with Gruyère or provolone and Parmesan.
Cover the crockpot and let the cheese melt 5–10 minutes, or broil briefly on a sheet pan for extra browning.
Finish and serve. Remove the bay leaf. Taste and adjust salt and pepper. Spoon onions and sauce over the chicken, garnish with parsley, and serve hot.