Caramelize the Onions. In a large skillet, melt the butter over medium heat. Add the sliced onions and cook until they turn a deep golden brown, about 20-25 minutes, stirring occasionally. This step develops the soup's rich flavor, so don’t rush it.
Combine Ingredients in the Slow Cooker. Transfer the caramelized onions to your slow cooker. Add the beef broth, dry white wine, bay leaves, and fresh thyme. Season with salt and pepper. Stir to combine.
Cook on Low. Cover and cook on low for 6-8 hours, allowing the flavors to meld and deepen. The longer the soup simmers, the better it tastes.
Toast the Bread. Before serving, preheat your oven’s broiler. Place slices of French bread on a baking sheet and toast until golden and crispy.
Assemble and Serve. Ladle the soup into oven-safe bowls. Top each bowl with a slice of toasted bread and a generous amount of Gruyère cheese. Place the bowls under the broiler until the cheese is bubbly and golden brown.