Homemade French Onion Soup with Bone Broth

Inside: How to make French onion soup with bone broth (homemade or store-bought) and the caramelization and garlic-toast details that make this onion soup recipe a winner.

French Onion Soup. Crocks filled with sweet caramelized onion, rich, sherry-kissed stock, topped with a crusty baguette and reams of melty Gruyère. This is one of life’s true pleasures. It’s also more straightforward than you’d think, and every bit as satisfying to make as it is to eat. The secret is the broth: I make mine from scratch in the Instant Pot, so what used to be a two-day process takes about ninety minutes. But if a homemade batch isn’t happening this week, a good quality store-bought bone broth works too — don’t let that be the reason you skip this recipe for something else.

A bowl of French onion soup with cheesy croutons.

French onion soup is squarely in my wheelhouse; I’m half French, after all, and my Mom, and both her parents were fine French cooks. Check out my grandmother’s French Pâté Recipe or Boeuf Bourguignon if you don’t believe me.

The main ingredient list for French onion soup is short and non-negotiable, so each one needs to be top-notch to pull its own weight.

  • Onions need proper caramelization, and to get there, they have to cook down. You’ll need more than you think.
  • Beef bone broth is the backbone of the soup, and my Instant Pot Bone Broth is simmered specifically to pull collagen from the bones, giving the soup real body instead of a thin, watery finish. In a pinch, store-bought is fine.
  • French Bread needs the right amount of toasty crunch before assembly, or it turns to mush in the broth.
  • Cheese is what comes to mind when you think of this recipe. Traditionally, French onion soup uses Gruyère, and there’s no such thing as too much.

Why you’ll love this recipe:

  • The broth is doing the heavy lifting. Homemade bone broth — or a good store-bought version — gives this soup real body.
  • Crunchy toasts. Toast one side, then the other, until crisp enough to create a barrier that holds up against the broth and melty cheese long enough to get your spoon into without turning to mush.
  • An avalanche of Gruyère, not a sprinkle. This isn’t the place to go light on cheese.
  • Make-ahead friendly. Freeze a batch of caramelized onions and a batch of broth ahead of time, and this goes from a weekend project to a weeknight dinner.

Ingredients for French onion soup:

  • Unsalted butter – the base fat for caramelizing the onions. Using unsalted gives you full control over salt once the broth and cheese are in the mix.
  • Onions – Use any variety, from plain yellow onions to sweet onions; red onions work too. Slow caramelization will turn even the most eye-stinging allium sweet. Read this post on how to caramelize onions.
  • Vegetable or canola oil – added alongside the butter to raise its smoke point, so the onions can cook low and slow for the better part of an hour without the butter scorching.
  • Kosher salt – goes in early with the onions to draw out moisture and speed up caramelization.
  • Black pepper – a background note, added at the same time as the salt.
  • White wine – deglazes the pot after the onions caramelize, picking up all the browned bits stuck to the bottom before the broth goes in.
  • Beef bone broth – the backbone of the soup. Homemade is worth the extra step for the body it gives the broth, though a good quality store-bought bottle works too.
  • Fresh Thyme – tied into a bundle with kitchen string, so you can pull it all out at once before serving.
  • Bay leaves – simmered with the broth for a background layer of flavor, then discarded.
  • French Baguette – sliced into rounds and toasted on both sides before it ever sees the broiler, so it holds up under the broth instead of going soft.
  • Garlic clove (optional) – rubbed over one side of the toasted bread for a hit of flavor without the raw garlic bite.
  • Sherry – a small splash added to each bowl right before broiling. This is what makes French onion soup taste like French onion soup — don’t skip it.
  • Gruyère cheese – buy the block and grate it yourself.

Step-by-step instructions:

Sliced onions in a dutch oven.
  1. Heat a Dutch oven over medium heat and add the butter and vegetable oil. Add the sliced onions and simmer with the lid on for about 15 minutes, stirring occasionally, until they start to soften.
Cooking down the onions and seasoning them with salt and pepper.

2. Stir in the kosher salt and black pepper and place the lid on the pot so it’s slightly askew, and steam can escape. Continue to simmer for 45-50 minutes, stirring every 8-10 minutes to prevent sticking and promote caramelization. Turn the heat down if the onions are browning too quickly.

Caramelized onions in a dutch oven.

3. Deglaze with the white wine and simmer until most of the liquid has evaporated.

4. Slice a baguette into ½” rounds and transfer to a wire rack set over a baking sheet. Bake for 4-5 minutes at 400°F, then flip and cook for 3-4 more minutes, or until crisp and lightly toasted. Rub one side lightly with a whole garlic clove.

5. Add a bundle of thyme to the onions and stir in the beef broth. Simmer for 10-15 minutes.

Caramelized onions with the beef broth.

6. Remove the thyme and bay leaf.

Filling the crocks with sherry and onion soup, topping with crispy crouton.

7. Add a teaspoon of sherry to each of four ovenproof crocks. Ladle the soup into the bowl and place on a baking sheet.

adding shredded cheese to the croutons for homemade french onion soup.

8. Rest 1-2 toasts on top of each bowl and divide the cheese amongst them.

A crock of Homemade French Onion Soup

9. Broil for 2-5 minutes until the cheese is melty and the edges of the bread are crusty. Serve.

Pro-Tips:

  • Batch and freeze the onions. Caramelizing takes the same hands-on time whether you’re making one batch or three. Make extra, portion it into containers, and freeze — future you gets French onion soup on a weeknight instead of a weekend project.
  • Batch and freeze the broth too. The same trick works for the bone broth — portion it into 4-cup containers and freeze. With both the onions and the broth already done, this soup comes together in about 30 minutes.
  • Use oven-safe crocks or bowls. Regular bowls can crack or shatter under the broiler. No French onion soup crocks on hand? Look for anything labeled oven-safe or broiler-safe.
  • Don’t rush the caramelization. Real caramelized onions take 45 to 60 minutes, not 15. If they’re browning too fast, turn the heat down rather than pushing through it — burnt onions turn bitter, and there’s no fixing that once they’re in the pot.
  • Watch the broiler the whole time. Gruyère goes from melted to burnt in under a minute. Stay at the oven for this step; don’t wander off.
French onion soup hot from the oven.

Swaps and Variations

  • No sherry on hand? A splash of cognac or brandy works the same way; add it to the bowl right before broiling. In a pinch, leave it out entirely—the soup will still taste good, just a shade less complex.
  • No Gruyère? Swiss or Emmental is the closest substitute. A mix of Swiss and provolone or mozzarella melts well too, if you want a stretchier topping.
  • Want a vegetarian version? Swap the beef bone broth for a rich vegetable broth instead. It won’t have the same collagen-driven body, but the caramelized onions and toasted cheese topping still carry the dish.

FAQs

Can you use bone broth for French onion soup?

Yes — and it’s more than a swap; it’s an upgrade. Bone broth is simmered to pull collagen out of the bones, giving the finished soup real body instead of a thin, watery broth. Homemade is worth the extra step, but a good quality store-bought bone broth works too.

What’s the difference between beef broth, beef stock and bone broth?

Beef broth is simmered briefly, mostly for flavor. Beef stock simmers longer and usually includes bones, which pulls out more collagen and body. Bone broth goes further still—it’s simmered the longest, often 12 to 24 hours, to extract as much collagen as possible (note: my instant pot version doesn’t take that long). For a soup where the broth is the star, bone broth or a well-made stock will always outperform a quick broth.

Is French onion soup vegetarian?

Not as written — the broth is beef-based. For a vegetarian version, swap in a vegetable broth instead; see the Swaps and Variations section above.

Do you put garlic in French onion soup?

A little. It’s not simmered into the broth — instead, a raw garlic clove gets rubbed over one side of the toasted baguette rounds before they go under the broiler, so you get a hint of it without overpowering the onions.

Serving the French onion soup in a crock.

Make ahead:

  • Caramelize the onions and make the broth up to a few days ahead (see the Pro-Tips above)
  • Keep it refrigerated and add the bread and cheese fresh, right before broiling.

Storage:

  • Store the soup base (without bread and cheese) in an airtight container in the fridge for up to 4 days.
  • A fully cooked French onion soup with cheese and crostini on top doesn’t store or reheat well, as the cheese and crostini lose their texture and get mushy in the soup.

Reheating:

  • Reheat the soup base on the stovetop or in the microwave until hot, then ladle into oven-safe crocks, top with freshly toasted bread and cheese, and broil as directed.

Freezing:

  • This one freezes well. Unlike a cream-based soup, there’s no dairy in the broth itself to split or turn grainy — just onions, broth, wine and aromatics.
  • Freeze the soup base in an airtight container for up to 3 months, thaw in the fridge overnight, then reheat, top, and broil as usual.

Nutritional Benefits of Real Bone Broth:

Real bone broth is made from parts of the animal we typically throw away (bones, marrow, joints), and it’s slow-simmered for 12-24 hours.  

Animal bones contain collagen, and the long cooking process breaks it down into a more digestible form: gelatin. It’s the gelatin that contains many amino acids like glutamine, which helps repair your gut lining, detox your liver, and reduce joint inflammation.  

Most boxed beef broths on the shelf don’t actually contain bones — check a label sometime; it’s mostly salt and caramel color. That’s fine for a quick weeknight soup where broth is a background note, but French onion soup puts the broth front and center, so it’s worth the extra step. A homemade batch gives you real body from the collagen, and you control the sodium instead of the label controlling it for you.

More soup recipes you’ll love:

Homemade French Onion Soup
Print Pin
5 from 3 votes

Homemade French Onion Soup

The best French Onion Soup with tender onions, sherry-spiked beef broth and cheesy croutons!
Author: Lisa Lotts
Course Main Course
Cuisine French
Keyword onions, soup
Dietary Restrictions Egg Free
Prep Time 30 minutes
Cook Time 1 hour 30 minutes
Total Time 2 hours
Servings 4

SPECIAL EQUIPMENT:

  • Dutch Oven
  • 4 oven-safe bowls or crocks

INGREDIENTS:

  • 3 tablespoons unsalted butter
  • 3 large sweet onions about 2 pounds peeled and thinly sliced
  • 2 teaspoons vegetable oil or canola oil
  • ¾ teaspoon kosher salt
  • ¼ teaspoon black pepper
  • 1 cup white wine
  • 4 cups Beef Bone Broth
  • 8 sprigs thyme
  • 2 bay leaves
  • 1 baguette sliced into ½" rounds
  • 1 garlic clove optional
  • 4 teaspoons sherry
  • 4 ounces Gruyère cheese grated

DIRECTIONS:

  • In a large Dutch oven over medium heat, melt 3 tablespoons unsalted butter and 2 teaspoons vegetable oil together. Add 3 large sweet onions about 2 pounds5 and cook for 15 minutes, stirring occasionally, until softened.
  • Stir in ¾ teaspoon kosher salt and ¼ teaspoon black pepper. Place the lid askew on the pot and continue to cook for an additional 45-50 minutes, stirring occasionally until they onions are caramelized. Moderate the heat if the onions are browning too quickly.
  • Add 1 cup white wine and simmer until most of the liquid has evaporated, about 10-15 minutes. Tie 8 sprigs thyme with a kitchen string into a tight bundle. Add the thyme, 2 bay leaves and 4 cups Beef Bone Broth. Simmer for 15 minutes.
  • Meanwhile, preheat the oven to 400°. Slice 1 baguette into ½" thick rounds and place on a baking sheet. Bake the bread for about 4-5 minutes, then flip the slices and cook for an additional 3-4 minutes, until crisp and lightly browned. Lightly rub 1 garlic clove over one side of the toasts (don't go overboard–the toasted bread acts like a microplane against a garlic clove).
  • Turn up the oven to broil.
  • Remove the thyme and bay leaves and discard. Add a teaspoon of sherry to each of 4 ovenproof crocks or bowls. Ladle the soup into the bowls and place on a baking sheet. Rest 1-2 toasts on top of each bowl of soup, depending on size (garlic side up), and divide 4 ounces Gruyère cheese over the bowls.
  • Broil for 2-5 minutes until the cheese is melty and the edges of the bread are crisp. Serve.

NOTES:

  • You can make and freeze caramelized onions ahead of time..
  • Store the soup base (without bread and cheese) in an airtight container in the fridge for up to 4 days.
  • Reheat the soup base on the stovetop or in the microwave until hot, then ladle into oven-safe crocks, top with freshly toasted bread and cheese, and broil as directed.
  • Don’t reheat leftovers that already have the bread and cheese on — the bread turns soggy, and the cheese doesn’t melt the same way twice.
  • You can freeze the onion soup base for up to 3 months in a freezer-safe container.
  • Thaw before reheating, then assemble the soup with bread and cheese before broiling.

NUTRITION:

Calories: 477.05kcal | Carbohydrates: 40.42g | Protein: 24.06g | Fat: 19.51g | Saturated Fat: 11.14g | Polyunsaturated Fat: 1.66g | Monounsaturated Fat: 5.36g | Trans Fat: 0.34g | Cholesterol: 53.76mg | Sodium: 1122.04mg | Potassium: 286.78mg | Fiber: 3.06g | Sugar: 7.17g | Vitamin A: 631.66IU | Vitamin C: 9.57mg | Calcium: 390mg | Iron: 2.96mg

Nutritional Disclaimer

Nutritional information is an estimate only and is provided as a courtesy. Values are calculated automatically based on the ingredients and quantities in each recipe and may vary depending on specific brands, exact measurements, and substitutions made. For precise nutritional guidance, especially if you have a medical condition or dietary restriction, please consult a registered dietitian or run the ingredients through your own nutrition calculator.

Pin “French Onion Soup” For Later!

The BEST French Onion Soup with tender onions, sherry spiked beef broth and cheesy croutons! Easier to make than you think! #frenchonionsoup #onionsoup #easyfrenchonionsoup

 

5 from 3 votes (1 rating without comment)

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating




This site uses Akismet to reduce spam. Learn how your comment data is processed.

33 Comments

  1. 5 stars
    This looks fabulous! Can we pretend the bone broth’s health benefits offset the extra pieces of baguette I’m going to devour?

  2. Rona Ehlers says:

    5 stars
    Great idea on freezing extra carmelized onions. This saves time!
    I am having a senior moment but i have made this recipe several times & my friends request it for
    Get togethers, but where does the garlic come in.
    Again. I m seventy. I might have missed it
    The soup is so yummy it doesnt need it

    1. You’re right Rona! — I missed it in the instructions — thank you for pointing that out. I rub a clove of garlic lightly over the toasts before sprinkling with gruyere. It’s optional if you’re not a garlic fan. I’ve fixed the recipe. Thanks again!

  3. French onion soup is my FAVORITE soup! If only I had time to caramelize those onions all the time.. I’d probably eat this every day! LOVE!

    1. Actually, I will make large batches of caramelized onions and freeze them in individual containers so they’re ready whenever I need them.

  4. Renee Nicole's Kitchen says:

    This looks amazing! I haven’t had a good bowl of French onion soup since I was last in Paris. This looks like a much cheaper option!

    1. LOL – definitely cheaper than flying to Paris, but Paris is definitely worth it!

  5. I hated french onion soup growing up, but now I can’t get enough of it! I’ve got some gf bread going stale it would make perfect french onion croutons!

    1. Absolutely! I know what you’re cooking this weekend!

  6. French onion soup really is one of my favorite things ever and this recipe looks to-die-for!

  7. Looks absolutely delicious Lisa. I could use chicken broth instead of the beef broth though, right?

    1. I suppose you could, but to be honest, French onion soup is meant to have deep, rich beefiness to go with the onions. Of course, you’re a food blogger – so maybe you’ll make up a whole new MUST MAKE soup!

    1. It had been a while since I’d made one, but it was worth the wait!

    1. Hmmm – well, the alcohol in the wine is pretty much cooked off and there’s only half a teaspoon of sherry in each bowl — but they really do add the dimension to this soup that Makes It! Otherwise I might add more beef stock and perhaps add a little sugar and let it simmer for 20 -25 minutes.

    1. Thank you, Tina! This one was harder to shoot than usual!

  8. My goodness that looks and sounds absolutely amazing! I don’t ever believe I’ve had the pleasure, yet, of tasting French Onion soup. I must remedy this!

    1. You ABSOLUTELY MUST have a bowl of French Onion Soup. It’s non-negotiable!

  9. Andrea @ Cooking with Mamma C says:

    I love French onion soup, and this bone broth sounds wonderful! I appreciate the explanation about bone broth too, because I’ve heard about it, but never knew the difference between that and regular broth.

    1. There’s a huge difference between canned broth at the grocery store and the real stuff!

  10. There are not to many things that I enjoy more then a nice serving of good FO soup. The sherry is the bomb!

  11. Dahn @savor the Best says:

    I just love a good French onion soup. Isn’t it amazing what incredible flavor can come from simple ingredients. I love that you add a splash of sherry… so good

  12. French onion soup is my favorite! I love love love it! This broth looks like a great addition too!

    1. Katrina, as I was writing this post — I was thinking of you!