Cubed crustyday-old bread or baguette, preferably sourdough—about 1/2 cup / 125 ml per serving
Shredded ComtéGruyère, Emmenthal, Swiss, or Old Cheddar Cheese—a generous 1/4 cup / 60 ml per serving
Place a large stockpot or Dutch oven over medium-low heat. Melt the butter into the oil. Add the onions, sprinkle with the salt, and stir to coat with the butter and oil mixture. Cook the onions, stirring thoroughly using a wooden spoon every 5 to 10 minutes, for a total of about 1 hour, or until the onions and melty, sweet, and golden brown.
Pour the wine over the onions, then scrape the bottom of the pan to deglaze. Let the liquid evaporate almost completely, then sprinkle with the flour and stir to incorporate. Add the stock, mustard, and thyme (if using fresh thyme, no need to pick the leaves from the stems—simply add the whole sprigs to the pot). Stir to combine and season with black pepper. Increase the heat to bring the soup to a simmer. Half-cover, then lower the heat to keep the soup at a steady simmer. Cook for 45 minutes, stirring every 15 minutes. Taste the soup and add more salt if needed. Fish out the sprigs of fresh thyme, if needed.
SERVING: Set a rack in the middle position of the oven and turn the oven broiler on. (Setting the rack too close to the broiler will burn the bread and cheese too quickly.) Spread the bread cubes over a baking sheet. Toast for 2 minutes, then stir the cubes and return to toast for an additional 2 minutes (make sure to keep a close eye on the bread cubes to prevent them from burning.) Remove from the oven and set aside.
Place oven-proof bowls or crocks over a baking sheet then fill 3/4 of the way up with soup. Top each serving with about 1/2 cup (125 ml) toasted bread cubes and 1/4 cup (60 ml) shredded cheese. Transfer to the oven and broil until the cheese is melted, golden brown, and bubbly. Carefully transfer each bowl to a serving plate (the bowls are piping hot so setting them on a cool plate makes them easier to handle). Serve immediately.
STORAGE: Let the French onion soup cool to room temperature. Store in portions in airtight containers. Refrigerate for up to 3 days or freeze for up to 3 months.