French Onion Soup

French Onion Soup Recipe – Classic, Rich, and Cheesy

⚖️
Difficulty
Medium
⏲️
Prep Time
15 mins
🕒
Cook Time
70 mins
⏱️
Total Time
85 mins
🍽️
Servings
5

I still remember the first time I truly understood what a bowl of soup could be. I was in Paris, studying at culinary school, and a classmate took me to this tiny bistro in the 6th arrondissement. The waiter placed a bubbling crock in front of me, and when I broke through that golden cheese crust with my spoon, I nearly cried. That is the moment this French Onion Soup recipe was born in my heart. Growing up in Morocco, my mother made hearty broths with caramelized onions and warm spices, but this French version — with its deep, wine-kissed broth and three melted cheeses — was something else entirely. Now, living in New York City, I make this soup every winter, especially after a long day at the Union Square Greenmarket. It is the ultimate comfort food: rich, savory, and deeply satisfying. This homemade French Onion Soup recipe will knock your socks off! Made with the richest broth, perfect caramelized onions, and topped with three different types of melted cheese, it is a meal that feels like a warm hug.

The beauty of this French Onion Soup lies in the caramelization. Those five large yellow onions, sliced thin and cooked low and slow until they are almost syrupy, create a sweetness that balances the savory beef and chicken broths. The aroma that fills your kitchen — a mix of butter, thyme, and balsamic vinegar — is nothing short intoxicating. When you add the red wine and deglaze the pot, scraping up all those browned bits, you are building layers of flavor that simply cannot be rushed. And then, the finishing touch: a slice of crusty French bread, toasted golden, topped with Gruyère, mozzarella, and Parmesan, all broiled until bubbly and forming that iconic crusty seal. Every spoonful is a perfect balance of rich broth, sweet onions, and gooey cheese.

What sets my version apart is my professional chef’s approach to layering flavors. I trained in Paris, so I know the importance of technique — but I also learned from my mother in Morocco that the best food comes from patience and love. I use a combination of beef and chicken broth for a more complex base, a touch of Worcestershire sauce for umami depth, and balsamic vinegar right at the end to brighten everything up. My pro tip? Do not skimp on the stirring during caramelization. That thirty-five minutes is where the magic happens. A common mistake is rushing this step, ending up with burnt onions rather than sweet, jammy ones. Trust me, the wait is worth it. From my NYC kitchen, I promise this will become your go-to French Onion Soup recipe.

Why This French Onion Soup Recipe Is the Best

The flavor secret is in the dual-broth method. Most recipes use just beef broth, which can taste one-dimensional. My French Onion Soup combines low-sodium beef broth and chicken broth for a more rounded, savory foundation. The chicken broth adds a lightness that keeps the soup from being too heavy, while the beef provides the deep, meaty notes you crave. This is a technique I picked up in Paris — layering broths to create a richer, more elegant result. It is the same principle behind a great stock: balance is everything.

Perfected texture comes from my careful caramelization process. I start by sautéing the onions over medium-high heat for ten minutes to soften them, then I reduce the heat to medium and add salt and sugar. The sugar is key — a small amount helps the onions develop that deep, golden color and almost syrupy texture. I stir every five minutes for thirty-five minutes total. This patience ensures every strand of onion is evenly caramelized, not burnt or crunchy. My chef training taught me that proper caramelization is a controlled process, not a race. When you get it right, the onions melt into the broth, giving the soup a silky, luxurious body.

This recipe is foolproof and fast enough for a weeknight, even with the longer cook time. The active hands-on time is only about 15 minutes for the initial sauté, then mostly stirring and simmering. I have tested this recipe dozens of times in my NYC apartment, and it works beautifully for home cooks of all levels. The instructions are clear, with visual cues like “syrupy consistency” and “golden and bubbly cheese.” Whether you are making it for a cozy dinner or a dinner party, this French Onion Soup delivers restaurant-quality results without stress. Plus, it comes together with simple, everyday ingredients you can find at any US grocery store.

French Onion Soup Ingredients

I love shopping for these ingredients at the Fairway Market on the Upper West Side or the Union Square Greenmarket. The yellow onions from local farms are sweet and firm, perfect for caramelizing. The Gruyère Swiss cheese — I always look for a block that smells nutty and slightly fruity. It reminds me of the cheese shops in Paris, where I used to buy wedges wrapped in brown paper. If I cannot find Gruyère, I sometimes mix in a bit of Emmental, which melts just as beautifully. The key is to use room-temperature cheese for even melting.

Ingredients List

  • 4 tablespoons unsalted butter
  • 5 large yellow onions (thinly sliced)
  • 1 teaspoon salt
  • 1 teaspoon granulated sugar
  • 2 cloves garlic (minced)
  • 1/2 cup dry red wine (see note)
  • 32 ounces low-sodium beef broth
  • 24 ounces low-sodium chicken broth
  • 1 tablespoon Worcestershire sauce
  • 2 sprigs fresh thyme
  • 1 bay leaf
  • 1/2 tablespoon balsamic vinegar
  • pinch of salt and freshly ground black pepper (to taste)
  • 5 1-inch thick slices of French bread
  • 2 tablespoons olive oil
  • 1 & 1/2 cups shredded Gruyere Swiss cheese (room temperature)
  • 1/4 cup shredded Mozzarella cheese (room temperature)
  • 2 tablespoons finely grated Parmesan cheese (room temperature)

Ingredient Spotlight

Yellow onions are the heart of this soup. They have a perfect balance of sweetness and pungency, which breaks down into rich, jammy goodness. When I buy them, I look for firm, heavy onions with tight, papery skin. Avoid any with soft spots or green sprouts. If you only have white onions, they work too, though the flavor will be a bit sharper.

Gruyère Swiss cheese is my top choice for the topping. It melts smoothly, has a nutty flavor, and browns beautifully under the broiler. Look for a block of Gruyère and shred it yourself — pre-shredded cheese often has anti-caking agents that affect melting. If Gruyère is hard to find, a good-quality Swiss cheese like Emmental or Comté works wonderfully.

Dry red wine — I recommend a Pinot Noir or a Merlot. The wine deglazes the pot and adds depth to the broth. You want something dry, not sweet. If you do not cook with wine, you can substitute an equal amount of additional beef broth mixed with 1 tablespoon of red wine vinegar for acidity.

Balsamic vinegar is my secret finisher. A half-tablespoon stirred in at the end brightens the soup and balances the richness. I buy a mid-range balsamic for cooking — save the expensive aged stuff for salads. This small addition makes a huge difference in the final flavor profile.

Original Ingredient Best Substitution Flavor / Texture Impact
Gruyère Swiss cheese Emmental or Comté Similar nutty, creamy melt; slightly milder with Comté
Dry red wine Beef broth + 1 tbsp red wine vinegar Less depth but still bright; acidic lift remains
French bread Sourdough or ciabatta Sourdough adds tangy note; ciabatta is softer
Low-sodium beef broth Vegetable broth (for vegetarian version) Lighter, less savory; add 1 tbsp soy sauce for umami

How to Make French Onion Soup — Step-by-Step

Trust me when I say this: making French Onion Soup at home is not hard, but it does require a bit of patience and love. Follow these steps, and you will be rewarded with the most incredible bowl of soup. I have broken it down into simple steps with clear visual cues.

Step 1: Sauté the Onions

In a large pot over medium-high heat, melt the 4 tablespoons of unsalted butter. Add the 5 thinly sliced yellow onions and sauté, stirring often, until they soften. This takes about 10 minutes. The onions will release moisture and shrink down significantly. Do not rush this initial softening — it sets the stage for perfect caramelization.

⚠️ Common Mistake to Avoid: Adding the onions to cold butter or oil. Always melt the butter first over medium-high heat. Cold butter will make the onions steam instead of sauté, delaying the process and preventing proper browning.

Step 2: Caramelize the Onions

Reduce heat to medium. Stir in 1 teaspoon of salt and 1 teaspoon of granulated sugar. Cook for another 35 minutes, stirring occasionally — every 5 minutes or so. The onions will turn a deep golden brown and become almost syrupy. This is the most important step. The sugar helps accelerate caramelization, but the salt also draws out moisture, creating a rich, complex flavor. Patience here is everything.

💡 emy’s Pro Tip: Do not walk away from the pot. Set a timer for every 5 minutes and give the onions a good stir. This prevents burning and ensures even caramelization. If you see any dark spots forming, reduce the heat slightly and scrape them up with your wooden spoon — those browned bits are flavor gold!

Step 3: Add Garlic and Deglaze

Add the minced garlic and cook until fragrant, about 20 seconds. Then pour in the 1/2 cup of dry red wine. Use a wooden spoon to scrape up all the brown bits on the bottom and sides of the pot — this is called deglazing. Those bits are packed with flavor, and the wine lifts them into the broth. Let the wine bubble for about 30 seconds to cook off the alcohol.

⚠️ Common Mistake to Avoid: Pouring the wine into a too-hot pot. Reduce the heat to medium before adding the wine to prevent it from splattering or burning off too quickly. The deglazing should be a gentle fizz, not a violent steam explosion.

Step 4: Simmer the Broth

Add the 32 ounces of low-sodium beef broth, 24 ounces of low-sodium chicken broth, 1 tablespoon of Worcestershire sauce, 2 sprigs of fresh thyme, and 1 bay leaf. Stir everything together. Bring the soup to a gentle simmer over medium/medium-low heat. Let it cook for about 20 minutes, stirring occasionally. Do not let it boil hard — a gentle simmer allows the flavors to meld without clouding the broth.

💡 emy’s Pro Tip: Taste the broth after 15 minutes of simmering. The flavors should be rich and savory. If it tastes flat, add another splash of Worcestershire sauce or a pinch of salt. Remember, you are building layers, so adjust as you go.

Step 5: Finish the Soup

Remove and discard the thyme sprigs and bay leaf. Stir in the 1/2 tablespoon of balsamic vinegar. Taste the soup again and season with a pinch of salt and freshly ground black pepper as needed. Reduce heat to low, cover the pot, and keep it hot while you prepare the bread and cheese. The balsamic vinegar adds a final touch of brightness that cuts through the richness.

⚠️ Common Mistake to Avoid: Adding the balsamic vinegar too early. It should be added only at the end, after the herbs are removed. Adding it during the simmer can make the flavor flat and dull. The vinegar needs to stay bright and vibrant.

Step 6: Toast the Bread

Preheat your oven broiler with the rack 6 inches from the heat source. Arrange the 5 slices of French bread on a baking sheet. Brush both sides with the 2 tablespoons of olive oil. Broil for 2-3 minutes total, flipping once, until the bread is well toasted on both sides. Keep a close eye on the bread — it can burn in seconds under a hot broiler. Every oven is different, so watch carefully. Remove from heat but leave the broiler on.

💡 emy’s Pro Tip: Do not skip toasting the bread. If you add untoasted bread to the soup, it will become soggy and fall apart before the cheese melts. Toasted bread holds its structure and creates a sturdy platform for the cheese. I like to toast it until just golden — it will continue to brown under the broiler with the cheese.

Step 7: Assemble and Broil

Arrange oven-safe bowls or crocks on a rimmed baking sheet. Fill each bowl 2/3 full with the hot soup. Top each bowl with one slice of toasted bread. Sprinkle evenly with the 1 & 1/2 cups shredded Gruyère, 1/4 cup shredded mozzarella, and 2 tablespoons grated Parmesan. Make sure the cheese covers the bread entirely and extends slightly over the edges of the bowl — this will create a wonderful crusty seal as it melts.

Broil the assembled bowls until the cheese is bubbly and golden brown. As it melts and softens, the cheese will fall over the sides of the crock, forming that irresistible crusty seal. This usually takes 2-4 minutes, but watch closely. Remove from the oven and let the bowls cool for 2-3 minutes before serving — the soup inside is extremely hot!

⚠️ Common Mistake to Avoid: Using cold cheese straight from the fridge. Always let the shredded cheese come to room temperature before assembling. Cold cheese takes longer to melt and can burn on top while remaining unmelted underneath. Take the cheese out 20 minutes before you need it.

Step Action Duration Key Visual Cue
1 Sauté onions 10 mins Onions are softened and translucent
2 Caramelize onions 35 mins Deep golden brown, almost syrupy
3 Add garlic and deglaze ~1 min Garlic fragrant; brown bits dissolve in wine
4 Simmer broth 20 mins Broth is rich and aromatic; gentle bubbles
5 Finish soup ~2 mins Vinegar stirred in; soup tastes balanced
6 Toast bread 2-3 mins Bread

Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

French Onion Soup


  • Author: Chef Emy

Description

This homemade French Onion Soup recipe will knock your socks off! Made with the richest broth, perfect caramelized onions, and topped with three different types of melted cheese!Step-by-step photos can be seen below the recipe card.


Ingredients

Scale
  • 4 tablespoons unsalted butter
  • 5 large yellow onions (thinly sliced)
  • 1 teaspoon salt
  • 1 teaspoon granulated sugar
  • 2 cloves garlic (minced)
  • 1/2 cup dry red wine ((see note))
  • 32 ounces low-sodium beef broth
  • 24 ounces low-sodium chicken broth
  • 1 tablespoon Worcestershire sauce
  • 2 sprigs fresh thyme
  • 1 bay leaf
  • 1/2 tablespoon balsamic vinegar
  • pinch of salt and freshly ground black pepper (to taste)
  • 5 1-inch thick slices of French bread
  • 2 tablespoons olive oil
  • 1 & 1/2 cups shredded Gruyere Swiss cheese (room temperature)
  • 1/4 cup shredded Mozzarella cheese (room temperature)
  • 2 tablespoons finely grated Parmesan cheese (room temperature)

Instructions

  1. In a large pot over medium-high heat, melt the butter. Add in the onions and sauté, stirring often, until softened, about 10 minutes.
  2. Reduce heat to medium, stir in the salt and sugar; cook for another 35 minutes, stirring occasionally (every 5 minutes or so), until onions are caramelized and almost syrupy.
  3. Add in the garlic and cook until fragrant, about 20 seconds.
  4. Pour in the red wine to deglaze the pot, scraping up any brown bits on the bottom and sides.
  5. Add in the beef broth, chicken broth, Worcestershire sauce, thyme, and bay leaf.
  6. Gently simmer over medium/medium-low heat for about 20 minutes, stirring occasionally.
  7. Remove and discard the herbs.
  8. Mix in balsamic vinegar and taste. Season with additional salt and pepper, if necessary.
  9. Reduce heat to low, cover to keep hot while you prepare the bread.
  10. Preheat oven broiler, with rack 6 inches from the heat source. Arrange bread slices on a baking sheet and brush both sides with the olive oil. Broil 2-3 minutes total, flipping once, until well toasted on both sides. (NOTE: keep an eye on the bread the entire time to ensure it doesn't burn. Every oven is different.) Remove from heat; leave broiler on.
  11. Arrange oven safe bowls or crocks on a rimmed baking sheet. Fill each bowl 2/3 full with hot soup. Top each bowl with 1 slice toasted bread, and sprinkle with the Swiss, Mozzarella, and Parmesan cheeses.
  12. Broil until bubbly and golden brown. As it softens, the cheese will fall over the sides of the crock and form a wonderful crusty seal.
  13. Serve and enjoy!

Leave a Comment

Recipe rating