There is nothing more comforting than a bowl of Homemade French Onion Soup, but the secret to a truly restaurant-quality result lies in the foundation. While store-bought broth works in a pinch, using a rich, homemade beef stock takes this dish to the next level with its deep, savory complexity. Paired with perfectly caramelized onions and bubbly Gruyère, this recipe is the ultimate labor of love for any home cook.

🧅 The Ingredients
This recipe transforms a handful of simple, high-quality staples into a sophisticated masterpiece by balancing slow-cooked aromatics and a rich, artisanal base with fresh herbs and a decadent, melted finish. Find ingredient notes (including substitutions and variations) below.

📝 Ingredient Notes with Substitutions and Variations
- Unsalted Butter: Using unsalted butter allows you to control the sodium levels perfectly. If you only have salted butter on hand, simply reduce the amount of added Kosher salt later in the recipe. For a dairy-free option, a high-quality olive oil can be used to caramelize the onions.
- Yellow Onions: These are the gold standard for French Onion Soup because they have a high sugar content for caramelizing but maintain a savory edge. You can substitute sweet onions (like Vidalia) for a milder flavor or use a mix of yellow onions and shallots for added complexity.
- Dry White Wine: The acidity in the wine helps deglaze the pan and balances the richness of the beef stock. If you prefer not to use wine, you can substitute it with an equal amount of beef stock plus a tablespoon of white wine vinegar or apple cider vinegar. For a more traditional, deeper flavor, try using dry Sherry or Brandy.
- Homemade Beef Stock: This is the star of the show; the gelatin and depth from homemade stock provide a mouthfeel that store-bought versions can’t match. If you must use store-bought, look for “low-sodium beef bone broth” to get as close to that homemade richness as possible.
- Fresh Thyme: Fresh herbs provide a bright, earthy aroma. If you only have dried thyme, use about one-third of the amount called for, as dried herbs are more concentrated.
- Sliced Baguette: A day-old or “stale” baguette is actually better here, as it stands up to the liquid without becoming immediately soggy. Sourdough slices make an excellent tangy alternative.
- Gruyère Cheese: Known for its nutty flavor and incredible melting properties, Gruyère is the classic choice. If it’s unavailable, Swiss, Emmental, or a sharp Comté are the best substitutes. For an extra flavor punch, try mixing in a little grated Parmesan.
Refer to the recipe card (with video) below for a full list of ingredients and measurements.
🔥 Tips and Tricks for the Perfect French Onion Soup
- Patience is the Secret Ingredient: True caramelization cannot be rushed. Plan to spend at least 45 to 60 minutes cooking the onions over medium-low heat. You are looking for a deep mahogany color, not just a golden brown, to achieve that signature sweet and savory depth.
- Don’t Fear the “Fond”: As the onions cook, a brown film (called the fond) will form on the bottom of the pot. This is flavor gold! When you deglaze with the white wine, use a wooden spoon to scrape every bit of it into the liquid.
- Double-Toast the Bread: To prevent the baguette from becoming immediately mushy, toast the slices in the oven until they are very crisp (almost like a large crouton) before placing them on top of the soup.
- Use a Heavy-Bottomed Pot: A Dutch oven or a heavy stainless steel pot is ideal for this recipe. It distributes heat more evenly than thin pots, which helps prevent the onions from scorching or burning in spots.
- Uniform Slicing: Try to slice your onions to a consistent thickness (about ⅛ inch). This ensures they all caramelize at the same rate, preventing small pieces from burning while larger pieces are still raw.
- Watch the Broiler Closely: When it’s time to melt the Gruyère, stay by the oven. Cheese can go from perfectly bubbly and browned to burnt in a matter of seconds.
- Season at the Very End: Because the beef stock reduces slightly and the Gruyère cheese adds a significant amount of salt, wait until the soup is finished simmering before doing your final taste test and adding your Kosher salt.
👩🏼🍳 How To Make Homemade French Onion Soup

- Step 1: Melt the butter in a large, heavy pot over medium heat.

- Step 2: Add the onions and stir to coat with the butter. Stir them at least every 15 minutes.

- Step 3: Continue to sauté the onions until they are caramelized and a deep brown, usually about 50 minutes.

- Step 4: Stir in the wine and simmer for 4 to 5 minutes.

- Step 5: Stir in the beef stock, thyme, and salt. Simmer for 15 minutes. Taste and add more salt, if needed.

- Step 6: Ladle the soup into a heatproof soup bowl.

- Step 7: Top the soup bowls with lightly toasted baguette slices.

- Step 8: Top each bowl with a handful of shredded Gruyere cheese.

- Step 9: Broil until the cheese is melted and bubbly (Keep an eye on it. Don’t let it burn!)

- Step 10: Garnish with fresh thyme and serve at once!
Expert Tip: The Water Deglazing Technique
To achieve a perfectly uniform, deep mahogany caramelization without scorching the onions, keep a small cup of water nearby while they cook. If the bottom of the pot begins to brown too quickly or the onions look dry, stir in a tablespoon of water to release the “fond” (the flavorful brown bits) back into the onions; repeating this process several times creates a much richer, jam-like consistency and a more complex flavor profile than simply letting them sit.
🔥 How to Serve
- Use Oven-Safe Crocks: For the most authentic experience, ladle the hot soup into individual oven-safe ceramic crocks or ramekins. This allows you to melt the cheese directly on top under the broiler.
- The “Lid” of Cheese: Place one or two toasted baguette slices on top of the soup, then generously cover them with grated Gruyère. Ensure the cheese reaches the edges of the bowl to create a sealed “crust” that stays bubbly and hot.
- Broil to Perfection: Place the crocks on a sturdy baking sheet and broil for 2–4 minutes. Watch closely until the cheese is melted, golden-brown, and beginning to blister.
- Garnish with Freshness: Sprinkle a few fresh thyme leaves over the melted cheese immediately after removing the soup from the oven for a pop of color and a fresh herbal aroma.
- Pair with a Light Salad: Because this soup is incredibly rich and savory, it pairs beautifully with a crisp green salad tossed in a bright lemon vinaigrette to cleanse the palate.
- Mind the Heat: Remember that the bowls will be extremely hot! Serve them on top of a small plate lined with a napkin to prevent the crock from sliding and to protect your table.
🙋🏽♂️ Frequently Asked Questions
Yes, the base of the soup can be prepared up to three days in advance and stored in the refrigerator. Simply reheat it on the stovetop and add the toasted baguette and cheese just before serving to ensure the topping stays crisp.
Yellow onions are the preferred choice because they have a high sugar content for caramelization while maintaining a bold, savory flavor. You can also use a mix of yellow and red onions for a slightly different depth of color and sweetness.
The liquid base and caramelized onions freeze beautifully for up to three months in an airtight container. For the best results, freeze the soup without the bread or cheese, adding those fresh when you are ready to thaw and enjoy.
Toasting the baguette slices until they are completely dry and crisp—almost like a large crouton—helps them stand up to the liquid. Additionally, creating a thick layer of melted cheese over the top acts as a shield to protect the bread’s texture.
You can replace the wine with an equal amount of extra beef stock and a tablespoon of balsamic or sherry vinegar. This provides the necessary acidity to balance the sweetness of the onions and the richness of the broth.

🥣 Other Classic Soup Recipes
Ready to make the most comforting soup this side of Paris? Go for it!
And when you do, be sure to take a photo of it, post it on Instagram, and tag @HowToFeedaLoon and hashtag #HowToFeedaLoon

Homemade French Onion Soup
Video
Equipment
- Large pot for caramelizing onions, i.e., Dutch oven
Ingredients
- 8 tablespoon unsalted butter 1 stick
- 6 medium yellow onions sliced
- ½ cup dry white wine
- 8 cups beef stock
- 1 tablespoon thyme chopped, plus a little extra for garnish
- 1 tablespoon Kosher salt
- 6 slices bread i.e., from a baguette, toasted
- 2 cups Gruyere cheese shredded or sliced
- 2 tablespoon thyme fresh, chopped, for garnish
Instructions
- Melt the butter in a large pot (Dutch oven works very well) over medium heat.8 tablespoon unsalted butter
- Add the onions.6 medium yellow onions
- Stir frequently (every 10 to 15 minutes) for about 1 hour until the onions turn a dark brown color.
- Add the wine and scrape (deglaze) the bottom of the pan with a spatula. Bring to a strong simmer for 4 to 5 minutes.½ cup dry white wine
- Add stock, thyme, and salt. Bring to a simmer for 15 minutes. Taste, and add more salt, if necessary.8 cups beef stock, 1 tablespoon thyme, 1 tablespoon Kosher salt
- Turn on the broiler. Ladle the soup into bowls.
- Add a toasted piece of bread on top of the soup, and then place a handful of grated Gruyere cheese over the top.6 slices bread, 2 cups Gruyere cheese
- Place under the broiler and cook for a few minutes, until cheese is golden on top (keep an eye on it, don't let it burn!).
- Remove from oven and garnish with chopped thyme. Serve at once.2 tablespoon thyme
Notes
Nutrition
POST UPDATE: This recipe was originally published in November 2017, but was updated with improved tweaks to the recipes with new tips and photography, and a fabulous new video in January 2022.











Rebecca says
Hi again,
I’m making this soup today and I have two questions. 1) We are not meat eaters so can I use a good chicken stock or vegetable stock and 2) also non-dairy. Will a blend of soy cheddar and swiss work?
I love your recipes so much! Everything I’ve made has been delish. Thanks guys!
Rebecca
Rebecca says
Replying to my own comment…made the soup with unsalted chicken broth and used our non-dairy cheese. OMG…it was so delicious. Served with a salad, warm french bread and sliced pears. There are two of us so I halved the recipe.
Kris Longwell says
Hi Rebecca!! Woo hoo!!! So sorry we didn’t get in an earlier response but it sounds like you nailed it!! All sounds so delicious! We are so so happy you had such great success with the soup and GREAT JOB on the modifications!! xoxo
rebekah says
This looks delicious!! Can it be frozen after the onions are caramelized? It would be nice to have in the freezer ready to warm up on a cool night after work.
Kris Longwell says
Hi Rebekah! Yes! You can freeze the soup, no problem! Let us know if you make it and what you think! Best, Kris & Wesley
Barb McIntosh says
At what temperature are the onions cooked for 1-1 1/2 hours?
krislongwell says
Hi Barb! Medium heat works well. Thanks for the question. I added that to the recipe. 🙂
Let us know how it turns out if you make it!
Best,
Kris & Wesley
kz says
the ingredient list includes white wine however the directions do not include it
krislongwell says
Hi there. Thank you so much for bringing this to my attention! 2015 now includes a proofer on staff at H2FaL!! I like to add the wine after the onions have really cooked down. You can add anywhere from 1/2 cup to a cup. Deglaze the pan (scrape up the bits on the bottom of the pan), and bring the wine to a boil. Then add the stock, etc. Let me know if you make this and how it turns out. It’s one of our favorites!!