This post may contain affiliate links. Please read our disclosure policy.
This French Onion Soup recipe is my take on the ultra-comforting classic French dish, known for its deep flavors and satisfying textures.

Made with caramelized onions, rich beef broth, and topped with crusty bread and melted cheese, it’s hard to imagine a meal more decadent and comforting than this French Onion Soup. The onions are the star of this dish, caramelizing slowly to enhance their natural sweetness. This process does take a bit of time and attention, but it’s rather easy to do! All it really takes is patience and a whole lot of stirring.
This French Onion Soup is finished with crusty French bread – a few days-old baguette works best here! I prefer to cut my bread up into little crusty crouton squares, making them easy to scoop up and enjoy. The bread plus the melted gruyere cheese really takes this soup to the next level!

ingredients:
- Unsalted Butter
- Yellow Onions
- Fresh Garlic
- Kosher Salt
- Freshly Ground Black Pepper
- Dry White Wine
- Gluten-Free 1:1 All-Purpose Flour: Can sub regular all-purpose flour
- Beef Broth
- Tamari: Can sub soy sauce
- Balsamic Vinegar
- Bay Leaf
- Fresh Thyme
- French Baguette: Day-old is best
- Gruyere Cheese

step-by-step:
step one: caramelize the onions
Heat a large pot or Dutch oven over medium heat. Melt the butter, then add the sliced onions. Stir frequently for about 30-40 minutes, allowing the natural sugars in the onions to slowly break down and develop a deep golden-brown color. You’ll want to stir every 3 minutes for the first half of the cooking time, then once they really begin to cook down, every minute or so. If the onions start to stick, deglaze the pan with a splash of water or broth to release the browned bits. Keep stirring until they are soft, jammy, and richly caramelized.

step two: add the spices
Add the garlic, salt, and pepper and saute for 2 more minutes.
step three: let the soup thicken
Add wine and allow thre mixture to come to boil. Stir in flour and let thicken for a minute or two.
step four: simmer the soup
While stirring, slowly stir in the beef broth, tamari, and balsamic vinegar. Add in the bay leaf and thyme bundle and bring the soup to a rapid simmer. Let simmer, rapidly (about medium-high heat), uncovered for 10 minutes, allowing the flavors to meld and the soup to reduce slightly, stirring occasionally.

step five: remove the herb bundle
Remove from heat and toss the bay leaf and thyme bundle. Taste and add salt, if desired. I usually add about ½ teaspoon more here.
step six: add the cheese and bread and broil
Place 4 oven-safe coquettes (or mini casserole bowls) on a sheet pan and turn on your broiler. Ladle the French onion soup into the coquettes, top with plenty of the bread cubes, and top each with plenty of cheese (like ¼ cup of cheese per bowl). Transfer to the oven and broil until the cheese melts and browns, 2 to 4 minutes, watching carefully to avoid burning.
step seven: finish and serve
Finish with fresh thyme and a sprinkle of flakey salt, if desired. Serve immediately.

Recipe FAQs:
You could try replacing the beef broth with vegetable broth (or your preferred vegetarian broth) to make this vegetarian-friendly!
No! This part is time-consuming, but not difficult. I promise you can do it! The trick is keeping the heat on the lower side and stirring often.
This French Onion Soup is comforting, warm, and incredibly rich. I hope you love it as much as we do! Let me know what you think when you try it.
Looking for more great soup recipes? try these!
Greek-Inspired Roasted Tomato Soup with Feta

French Onion Soup
Ingredients
- 3 tablespoons unsalted butter
- 3 pounds yellow onion halved and thinly sliced (about 4 large onions)
- 3 garlic cloves minced
- 1 teaspoon kosher salt plus more to taste
- 1 teaspoon freshly ground black pepper
- 1 cup dry white wine
- 2 tablespoons gluten free 1:1 all purpose flour can sub all purpose flour
- 6 cups beef broth (sub vegetable broth)
- 1 tablespoon tamari can sub soy sauce
- 1 tablespoon balsamic vinegar
- 1 bay leaf
- 6-8 sprigs of thyme tied with twine into a bundle
- 1 small French baguette day old, cut into 1-inch cubes
- 1 cup grated gruyere cheese
Instructions
- Heat a large pot or Dutch oven over medium heat. Melt the butter, then add the sliced onions. Stir frequently for about 30-40 minutes, allowing the natural sugars in the onions to slowly break down and develop a deep golden-brown color. You’ll want to stir every 3 minutes for the first half of the cook time, then once they really begin to cook down, every minute or so. If the onions start to stick, deglaze the pan with a splash of water or broth to release the browned bits. Keep stirring until they are soft, jammy, and richly caramelized.
- Add the garlic, salt and pepper and saute for 2 more minutes.
- Add wine and allow mixture to come to boil. Stir in flour and let thicken for a minute or two.
- While stirring, slowly stir in the beef broth, tamari, and balsamic vinegar. Add in the bay leaf and thyme bundle and bring the soup to a rapid simmer. Let simmer, rapidly (about medium-high heat), uncovered for 10 minutes, allowing the flavors to meld and the soup to reduce slightly, stirring occasionally.
- Remove from heat and toss the bay leaf and thyme bundle. Taste and add salt, if desired. I usually add about ½ teaspoon more here.
- Place 4 oven-safe coquettes (or mini casserole bowls) on a sheet pan and turn on your broiler. Ladle the French onion soup into the coquette’s, top with plenty of the bread cubes and top each with plenty of cheese (like ¼ cup of cheese per bowl).
- Transfer to the oven and broil until the cheese melts and browns, 2 to 4 minutes, watching carefully to avoid burning.
- Finish with fresh thyme and a sprinkle of flakey salt, if desired. Serve immediately.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
Food Photography and Styling by Eat Love Eats.




Fabulous French onion! one of the best I’ve ever had. HIGHLY recommend. Whole family loved – thank you as always Alex!!