In a skillet over medium heat, add 2 tablespoons of olive oil. Add sliced onions and cook, stirring occasionally, until they are caramelized, about 20-25 minutes. Season with salt and pepper.
In a bowl, combine the caramelized onions, Gruyère cheese, cream cheese, thyme, garlic powder, and a pinch of salt and pepper. Mix until well combined.
Using a sharp knife, create a pocket in each chicken breast by slicing horizontally, being careful not to cut all the way through.
Stuff each chicken breast with the onion and cheese mixture, securing the opening with toothpicks if necessary.
Heat a large oven-safe skillet over medium-high heat. Sear the stuffed chicken breasts for about 3-4 minutes on each side until golden brown.
In the same skillet, add the beef broth, Worcestershire sauce, and balsamic vinegar. Bring to a simmer.
Transfer the skillet to the preheated oven and bake for 25-30 minutes, or until the chicken is cooked through and reaches an internal temperature of 165°F (74°C).
Remove the toothpicks before serving and let the chicken rest for 5 minutes.
Notes
For added flavor, sprinkle some extra Gruyère cheese on top of the chicken before baking.
Substitute the Gruyère cheese with Swiss cheese or mozzarella for a different taste profile.