This French onion soup is rich, cozy, and made entirely in one pot with deeply caramelized onions, beef broth, toasted bread, and gooey Gruyère cheese. It’s the perfect comfort soup for chilly nights, fall dinners, or holiday entertaining, bringing all the bistro-style flavor to your home kitchen.
Start by prepping and measuring all of your soup ingredients.
Melt the butter in a Dutch oven or large pot over medium heat. Add the sliced onions, salt, and pepper, tossing to coat. Lower the heat to low and cook for about 40 minutes, stirring occasionally, until the onions are very soft.
Raise the heat back to medium and continue cooking the onions for another 15–20 minutes, stirring often, until they turn a rich golden brown.
Stir in the balsamic vinegar, thyme, bay leaves, and garlic. Sprinkle flour over the onions, stir well, and cook for 2 minutes. Pour in the beef broth and let the soup simmer over medium heat for 30 minutes.
While the soup simmers, position a rack in the upper third of the oven and preheat to 350°F.
Ladle the soup evenly into oven-safe bowls and set the bowls on a rimmed baking sheet.
Place a slice or two of toasted baguette on top of each bowl of soup, then cover generously with Gruyère cheese.
Bake the soups for 20–30 minutes, until the cheese is fully melted.
For bubbly, golden tops, switch the oven to broil and cook the soups for 2–3 minutes, until the cheese is browned and bubbling. Let cool slightly after removing from the oven.
Finish with a sprinkle of fresh chives and enjoy your French onion soup!
Notes
To store French onion soup, transfer it to an airtight container or freezer bag and label it with the date. Keep in the refrigerator for 3–4 days, or freeze for up to 3 months. When freezing, lay the bag flat at first for easy storage. To reheat, thaw overnight in the fridge, then warm on the stovetop until hot.