Heat olive oil and butter in a large skillet over medium heat. Add the thinly sliced onions and cook for 15-20 minutes, stirring occasionally, until they reach a golden-brown caramelization.
Transfer the caramelized onions to the bottom of your slow cooker. Add the minced garlic and stir to distribute evenly.
Place the chicken breasts on top of the onion layer. Season with salt and pepper, then sprinkle with fresh thyme leaves. Add the bay leaf.
Combine beef broth and Worcestershire sauce in a separate bowl, then pour this mixture over the chicken and onions.
Cover and cook on low for 6-7 hours or on high for 3-4 hours. The chicken is done when it reaches an internal temperature of 165°F (74°C) and shreds easily with a fork.
About 15 minutes before serving, sprinkle the shredded Gruyère and Parmesan cheeses over the chicken. Replace the lid and continue cooking until the cheese melts.
Optional: For a more browned top, transfer to an oven-safe dish and broil for 2-3 minutes.
Garnish with fresh thyme sprigs or chopped parsley if desired, and serve.