French Onion Soup
This Homemade French Onion Soup recipe layers rich beef stock with tons of caramelized onions, then the whole thing gets topped with crusty bread and melted cheese. If you’ve ever wanted to make restaurant-quality French onion soup from scratch, this is your recipe. This post will cover everything on how to make your own beef stock, caramelize onions, and more. You’ll be cooking like a French chef in no time!
“Wow, I had such a craving for French onion soup and this was so good!” – Nancy, So Much Food reader
Table of Contents
Yes, This Is the *Best* French Onion Soup Recipe
While there are a million French onion soup recipes out there, most of them are not great. This is not a soup that you want to take shortcuts for! Why go through the effort if the end result is just going to be mediocre?
French onion soup is deceptively simple to make, but the time involved and the method matter. The quality of ingredients that you use matter. I’ve got plenty of quick and easy soup recipes that come together in no time, but this isn’t one of them.
Don’t mistake this for me saying that this soup is hard to make, because it isn’t. You’ve just got to be willing to take a little time and that’s what I’m here for! To help guide you in making a truly special and incredible soup.
Love French onion recipes? Be sure to try my French onion braised beef or French onion mac and cheese next!


The 3 Things That Make This Recipe So Good
With such a simple soup, you really want to make sure the elements of the soup all shine. In French onion soup, there are 3 simple components to making a truly great soup:
The beef broth. The broth is arguably the star here, but most people aren’t aware of how much of a role it plays. Can you use store-bought, boxed stock? Sure, but why would you want to? Making your own rich and beautiful beef stock is simple and easy to freeze and this recipe will show you how.
The onions. There are no shortcuts or quick ways to caramelize onions, but that’s okay! Good things take time and this is somewhere where you really want to take your time. Properly caramelizing the onions adds body to the soup and creates the perfect balance of sweet and savory flavors.
The toppings. One of the best parts of dunking your spoon into the soup is passing a layer of crusty bread and melty cheese first! Make sure to use a quality french baguette and some gooey and melty gruyere for best results.
The Main Ingredients
- Beef finger ribs. The best beef stock is created when bones and meat are involved, so the cuts you use for making stock matter. Beef finger ribs are my favorite! They’re the lower, less meaty part of the beef rib plate and have the perfect mix of meat and bone. You could also use bone-in beef chuck.
- Veggies. I go real classic for my beef stock here: just carrots, onion, and celery.
- Bay leaves. I love fresh bay leaves over dried if you can find them. They’re great in the beef stock and in the soup as it simmers.
- Onions. This is an important one! I like a mix of white and yellow onions, but you can be flexible here. Important note: do not use sweet or Vidalia onions as they are MUCH too sweet for the soup.
- Butter. Butter is best for caramelizing onions!
- Thyme. Fresh thyme is so good in the soup.
- Dry vermouth. I love the flavor dry vermouth adds, but you could also swap in a dry white wine.
- Worcestershire sauce. The secret ingredient! Worcestershire adds a nice savoriness to the soup.
- Dijon. I love adding a bit of dijon mustard to the onions after they’re caramelized for an extra bite of flavor.
- Bread. To make the little bread toasts served on top of French onion soup, I like using a good French baguette.
How to Make French Onion Soup Completely From Scratch
Jenny’s Tip: French onion soup isn’t difficult to make, but the secret ingredient truly is time. This is a recipe meant to be made in the background while relaxing on a Sunday. So take your time and enjoy the hell out of this incredible soup!
Step 1: Make the Beef Stock


- Roast the meat/bones. This is just another way to add lots of flavor very simply. Roasting the meat and bones keeps you from having to blanch them before boiling and adds a nice roasty flavor.
- Add the right aromatics. Beef stock isn’t just about the beef, but about all the ingredients! I love to add onions, carrot, celery, garlic, and herbs for best flavors.
- Simmer hard, don’t boil. Best practices for making beef stock are to let it be at a hard simmer or a low rolling boil, but not boiling out of control. This usually means managing the heat to be over medium or medium-low. This way, you’ll pull all the good stuff out of the bones and meat while the broth stays clear.
- Reduce the broth enough. To really pull all the flavor and good stuff out, you really want to reduce the broth by at least half from the starting liquid volume.
Step 2: Caramelize the Onions (The Right Way!)



- Evenly slice the onions. Use a mandoline to make sure all the onions are sliced to an even thickness. Not only does it make the work of slicing so many onions quick and easy, but all the onions will cook at the same rate.
- Saute the onions in butter. You’ll want to start with a wide bottomed pot, like a dutch oven, over medium heat. Melt the butter and then add the onions once the butter is melted and foamy. Toss well to coat and lightly season with salt and pepper before covering and cooking for 5 minutes. This helps jumpstart the cooking process.
- Cook the onions down. Lower the heat slightly and let the onions cook, stirring every 10 minutes or so, until they’re deeply golden brown. Cook them down with the bay leaves and thyme. This process could take 45 minutes to an hour. Don’t rush the process, just plan to have other things to do while the onions cook in the background.
Step 3: Finish the Soup


- Add the beef stock to the caramelized onions. Let the mixture simmer for about 15 minutes, just to thicken it up.
- Meanwhile, toast the baguette slices. I prefer doing this in the oven (it provides the most consistent results). Spread a little butter on top, season with salt and pepper, and then rub a garlic clove over the bread once it’s golden brown to impart lots of flavor.
- Broil before serving. Ladle the finished soup into oven-safe bowls, top with a toasted baguette slice and shredded Gruyere, and bake until the cheese is melted.


Common Mistakes to Avoid
Using the wrong beef stock. Using quality beef stock is what gives classic French onion soup its texture and keeps us from having to artificially thicken the soup with flour. When you make beef stock (with bones) you pull out fat, collagen, and gelatin from the bones resulting in a richly textured broth and it keeps us from having to artificially thicken the soup with flour. If you’re not making your own beef stock, look for quality beef stock in the freezer section of your grocery store.
Using unevenly sliced onions. This is key to getting uniformly caramelized onions so I recommend using a mandoline. Even someone with excellent knife skills will struggle to perfectly slice onions evenly.
Using the wrong pot. For caramelizing onions, you need a dutch oven or pot that is wider than tall. You need enough surface area to apply heat to the onions and using a tall pot (like a stock pot) just will not accomplish that.

Under-caramelizing the onions. A large part of the flavor of this soup is built during the caramelization process. If you leave your onions under caramelized, you’re leaving flavor on the table! Take your time with them and do something else while you wait since the onions only need to be stirred on occasion.
Under or over-seasoning the soup. The biggest complaint I have heard about French onion soup is that it’s overly salty or completely under seasoned. The best way to manage this is to taste the soup and onions throughout the cooking process. Keep in mind that when salted soup reduces, it gets even saltier!
Trying to do it all at once. If you’re new to cooking or don’t want to be in the kitchen all day, break up the work! Make the broth the day before you plan to make and serve French onion soup.
What to Serve with French Onion Soup
While French onion soup is a meal in itself, I find myself being a real soup and salad girl! I love the combination of something fresh and crunchy with a hearty and comforting counterpart.
If you want to create a soup and sandwich pair, try these steak sandwiches because they were inspired by a sandwich I ate in Paris and go so well with French onion soup.
If you do give this recipe a try, be sure to let me know! Leave a comment with a star rating below. Be sure to subscribe to my weekly newsletter and never miss a new recipe! You can also snap a photo & tag @JENNYGOYCOCHEA on Instagram. I LOVE hearing about & seeing your SMF creations!
More Comforting Soup Recipes to Try
- Lasagna Soup
- Quick Chicken Pho
- Chicken Wonton Soup
- Creamy Chicken and Dumpling Soup
- Creamy Chicken Orzo Soup
This post contains affiliate links from which I receive a small commission at no additional cost to you. Affiliate links allow me to keep providing great recipes for free and I never recommend products that I don’t love and personally own.

The Ultimate French Onion Soup Recipe
Ingredients
Beef Stock
- 2 1/2 lbs beef finger ribs
- 1/2 onion, chopped
- 2 large carrots, chopped
- 2 celery ribs, chopped
- 4 garlic cloves, smashed
- 2 fresh bay leaves
- 20 cups water
French Onion Soup
- 4 tablespoons unsalted butter
- 3 white onions
- 3 yellow onions*
- 3 garlic cloves, thinly sliced
- 2 fresh bay leaves
- 1 tablespoon fresh thyme leaves
- 2 teaspoons dijon mustard
- 1 tablespoon Worcestershire sauce
- 2/3 cup dry vermouth*
- 8 cups beef stock
- kosher salt
- freshly cracked black pepper
Bread Topper
- 1/2 french baguette, sliced 1 inch thick
- 3 tablespoons softened butter
- 1 garlic clove
- 1 1/2 cups shredded gruyere cheese
Instructions
Beef Stock
- Roast the bones. Line a baking sheet with foil and place the ribs side by side. Arrange an oven rack in the top 1/3 of the oven. Place the ribs under the broiler for 12-15 minutes, flipping halfway through until browned.
- Make the stock. Add the roasted beef bones and any juices to a stock pot (8 qt+). Add the onion, carrot, celery, bay leaves, smashed garlic, and 20 cups of water. Bring to a simmer and skim any foam off that rises to the top. Simmer until reduced by just over half. You should end up with 8-10 cups of broth. Strain the broth through a mesh strainer into a mason jars or deli cups and discard the veggies and bones.
French Onion Soup
- Slice the onions. Use a mandoline to ensure evenly sliced onions. Peel the onions then slice into 2mm thick slices. Set aside.
- Caramelize the onions. Add the butter to a large dutch oven over medium heat. Once the butter is melted and foamy, add the onions and toss well to coat in the butter. Cover the pot and cook for 5 minutes. Uncover and reduce the heat to medium-low and season lightly with salt and pepper. Add the sliced garlic and bay leaves and toss well. Cook, stirring every 5-10 minutes, until the onions are deeply golden brown, about 45 min to 1 hour.
- Season the onions. Once the onions are deeply browned, increase the heat to medium and add the dijon, Worcestershire, and thyme leaves to the pot. Once the onions are sizzling, add the vermouth and simmer for 5 minutes.
- Make the soup. Add the beef stock to the onions and bring to a simmer. Simmer for 15-20 minutes, until slightly thickened. Season to taste with salt and pepper.
- Preheat an oven to 425 F.
- Toast the bread. Spread the baguette slices out on a baking sheet and spread with the softened butter and season with salt and pepper. Toast for 7-10 minutes, until golden brown. Once the bread is out of the oven, rub the toasted bread with a clove of garlic.
- Broil. Ladle the soup into oven-safe bowls and top with the toasted baguette. Top with shredded gruyere and place the bowls on a baking sheet. Transfer to the oven for 10 minutes, finishing by broiling if needed.
Notes
- TO STORE: Refrigerate soup in an airtight storage container for up to 1 week. Store bread separately in an airtight storage container at room temperature.
- TO REHEAT: Rewarm leftovers in a pot on the stovetop over medium-low heat or in the microwave. If desired, toast leftover bread on a baking sheet in the oven at 350 degrees.
- TO FREEZE: Freeze soup in an airtight, freezer-safe storage container for up to 3 months. Let thaw overnight in the refrigerator before reheating.
Rate & Review This Recipe
Soup was perfect. But your website is the absolute worst. So many popups and resets. I will never visit anything you post
Kevin,
Ads are how I make a living and am able to provide quality, tested recipes for free. There are plenty of tools at your disposal to skip ads including a ‘jump to recipe’ button and a clickable table of contents to help you skip around the post without scrolling. Also, ads are just the reality of the internet and I would be shocked if you could show me a *quality* website that doesn’t have ads.
Wow, I had such a craving for French onion soup and this was so good! Your instructions were easy to follow and your website was so easy to navigate. Thank you!
So happy to hear it!
I loved this- and I just want to say I LOVE your blog so much and so many of your recipes are a staple in my house. You are super talented. I did see a comment that also addressed something I’ve run into, and I’m only commenting because it’s been so bad for such a long time.
I totally understand you need ads for your website and support that! But there is something funky that’s causing your website to repeatedly crash and reload. Sometimes it’s so bad it’s unusable. I’ve tested this across multiple browsers and devices. I’m also a UI/UX designer of 17 years and have experience working with engineers and building websites. I’m not sure if there’s a weird broken code or something, or more than likely, google ads code is the culprit.
Regardless!! I love your recipes and support you, just wanted you to know.
Jess, thank you so much for your thoughtful comment! Glad you loved the recipe and I’m sorry to hear that you’ve been having a hard time with the user-friendliness of my site. I will be having my site redesigned this year with UX first and foremost in my mind. I’ll also be lowering my ad density a bit, so I hope that helps. Thank you for all your support!