Cut the top and bottom off each onion and slice through vertically. Using a Japanese mandoline, shave each onion half into very thin slices (approx. 1/16").
Melt the butter in a large dutch oven or stock pot. Add all of the onions and cook uncovered over very low heat, stirring every 10-15 minutes. It will seem like nothing is happening for about the first hour. This is normal. It's important to cook them gently.
When you start to see liquid accumulating in the pan from the onions, turn up the heat slightly. Continue cooking very slowly until the liquid is evaporated and the onions begin to color. Once they begin to color, the process moves much more quickly, so stir frequently.
Continue cooking the onions until they are very dark and caramelized, then sprinkle with flour and stir in. Add the beef broth (if you want more volume of soup, you can add an extra quart, it will just have more broth).
Put the bay leaf, peppercorns, and 3-4 thyme sprigsin a sachet and simmer in the soup for 30-40 minutes. We use these pre-made cheesecloth sachets. They are really convenient.
Top each bowl with a slice of bread that covers most of the top surface of the soup. Grate a generous amount of cheese over the top of each dish, then put under the broiler in the oven until the cheese is golden and bubbly. Watch it carefully to make sure it does not burn!
Recipe by The Taste Edit at https://thetasteedit.com/french-onion-soup/