Heat a large cast iron skillet over medium heat and add the butter.
When the butter has melted add the sliced onions and allow the onions to caramelize in the butter, stirring them regularly as they brown. Add the fresh thyme and salt and pepper and stir to combine.
When the onions are caramelized and a nice golden brown, remove them to a bowl and turn off the heat under the skillet.
Combine the shredded cheeses (mozzarella, gruyere, and parmesan) in a bowl. Stuff the shredded cheese and several spoonfuls of the caramelized onions into each of the chicken breasts and secure with toothpicks. There should be about 1/2 cup or more of caramelized onions remaining.
Heat the same skillet to medium-high heat and once it's heated, add the olive oil and the chicken breasts.
Brown the chicken breasts on all sides carefully, making sure the filling stays inside.
Once the chicken has browned but not cooked through, remove it to a plate and turn off the heat. Add the remainder of the caramelized onions to the skillet, along with the chicken stock.
Nestle the chicken breasts in the caramelized onion liquid in the skillet and throw a few sprigs of fresh thyme into the skillet as well.
Bake at 350 degrees Fahrenheit for about 20 minutes, or until the chicken has cooked through completely to an internal temperature of 165 degrees Fahrenheit (75 Celsius).
After allowing the chicken to rest for several minutes, remove the toothpicks and serve the chicken with a spoonful of the onions and pan juices.