Soups & Stews
Brennan's French onion soup delivers the restaurant-quality experience you crave with its deep, caramelized onions and perfectly melted Gruyère cheese. This isn't just soup—it's a multi-layered masterpiece that transforms simple ingredients into something extraordinary.
The secret lies in slow-cooking onions until they're golden and sweet, then building rich beef broth that carries those flavors to perfection.
What sets this recipe apart is the balance of techniques: onions caramelized for hours, broth reduced to concentrate their sweetness, and bread toasted just enough to hold melted cheese without burning.
The Gruyère melts into a luscious blanket over the soup, creating that signature gooey texture that makes every bite worth waiting for. This is comfort food elevated to an art form.
The result is a bowl of soup that's both hearty and refined—warm, aromatic broth filled with tender onions, topped with crispy bread and melted cheese that pulls in strands.
The aroma alone will have everyone gathering around your table, and the first spoonful delivers on that promise of restaurant-quality flavor at home. This is the kind of dish that turns ordinary weeknights into special occasions.
Whether you're serving a crowd or treating yourself to a cozy meal, this recipe delivers restaurant-quality results with a professional touch. The slow cooking process develops deep flavors, while the crispy bread and melted cheese add the perfect finishing touches.
Ready to create this French classic in your own kitchen? Let's get started with the ingredients and techniques that make it unforgettable.
Ingredients for brennan's french onion soup
Six pounds of onions and a few key ingredients transform into restaurant-quality French onion soup.
| Ingredient | Amount | Notes |
|---|---|---|
| Yellow Onions 🧅 | 6 lb | Yellow or sweet onions, sliced thin |
| Beef Broth 🍲 | 8 cups | High-quality, homemade preferred |
| Unsalted Butter 🧈 | ½ cup | European-style preferred for flavor |
| All-Purpose Flour 🌾 | ½ cup | For thickening broth |
| Gruyère Cheese 🧀 | 2 cups | Freshly grated, high-quality |
| Baguette 🍞 | 1 whole | Crusty, day-old preferred |
| Garlic Cloves 🧄 | 4 cloves | Minced for flavor depth |
| Dry White Wine 🍷 | 1 cup | Bold, dry variety like Chardonnay |
| Salt 🧂 | 2 tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground for heat |
| Olive Oil 🫒 | 2 tbsp | For initial onion cooking |
| Thyme 🌿 | 1 tbsp | Fresh or 1 tsp dried |
| Bay Leaves 🍃 | 2 whole | For aromatic depth |
The onions are the heart of this soup—6 pounds of yellow onions caramelized until golden and sweet. Whole Foods or local markets often carry bulk onions at better prices, and look for firm, dry onions with no bruising. The Gruyère cheese is non-negotiable—Whole Foods or specialty cheese shops carry the best quality, and always grate it yourself for maximum flavor. For the beef broth, homemade is ideal, but high-quality store-bought like Kitchen Basics or Imagine works in a pinch. The baguette should be crusty and sturdy enough to hold melted cheese without falling apart.
No Gruyère? Comté or Emmental can substitute, though the flavor will differ slightly. Short on white wine? Dry vermouth or extra beef broth works, but the acidity helps balance the sweetness. Fresh thyme is preferred, but dried at one-third the amount suffices. If you can't find European-style butter, unsalted butter with a high fat content (like Land O'Lakes) works fine. The flour should be all-purpose—King Arthur or Gold Medal brands are reliable. For extra richness, some cooks add a splash of heavy cream at the end, though traditional recipes omit it.
Caramelized onions can be stored in the fridge for 5 days or frozen for 3 months—just reheat gently. The baguette stays fresh 2 days at room temperature, but toasting it before serving ensures crispiness. Gruyère cheese should be kept in its original packaging in the fridge for up to 2 weeks or frozen for 6 months to preserve flavor. Prep the onions and broth ahead of time to simplify assembly day—this soup tastes even better the next day as flavors meld.
Why You'll Love This Recipe
- Onion Love Simplified: I swear by this recipe because it turns 10 pounds of onions into something magical with almost no effort. Just slice, caramelize, and simmer—no fancy techniques required.
- Umami Bomb: The beef broth and butter create this deep, savory punch that’s impossible to resist. That crispy Gruyère on top? It’s the perfect balance of gooey and sharp.
- Weeknight to Party: I make this for lazy nights, but it also feels fancy enough for guests. Serve it in mugs for a cozy dinner or in bowls for a showstopper appetizer.
- Budget-Friendly Leftovers: Onions are cheap, broth is cheap, and a block of Gruyère stretches far. I’ll often make a double batch—one for dinner, one for lunch the next day, reheated with a sprinkle of cheese.
Step-by-step instructions for French onion soup
This method delivers restaurant-quality French onion soup with deep caramelized flavors and perfect Gruyère meltdown.
Caramelize the Onions Slowly
Heat the 2 tablespoons olive oil in a large Dutch oven over medium-low heat. Add the 6 lb yellow onions and cook for 45 minutes, stirring occasionally, until they become a deep golden brown. This slow process transforms the onions into sweet, jammy caramel - the soul of this soup.
I like to press down on the onions with a wooden spoon during the last 10 minutes to encourage browning. You'll know they're ready when they're dark brown with crispy edges and a rich, sweet aroma fills your kitchen. Don't rush this step - patience here makes all the difference.
Build the Rich Broth Base
Remove the onions from the pot and set them aside. Add the 0.5 cup unsalted butter to the Dutch oven and melt it over medium heat. Stir in the 0.5 cup all-purpose flour and cook for 2 minutes until it turns golden brown - this creates a roux that will thicken your soup beautifully.
Gradually whisk in the 8 cups beef broth and 1 cup dry white wine, scraping up any browned bits from the bottom. Add the 2 whole bay leaves, 1 tablespoon thyme, 2 teaspoons salt, and 0.5 teaspoon black pepper. Return the caramelized onions to the pot and bring to a gentle simmer. Cook uncovered for 20 minutes to let the flavors meld together.
Incorporate Garlic and Finish Cooking
Stir in the 4 cloves minced garlic and cook for 1 minute until fragrant. Taste and adjust seasoning if needed - the soup should be rich and flavorful but not overly salty. Keep the soup at a gentle simmer for another 15 minutes to allow all the flavors to develop fully.
Here's the thing - the longer you let this simmer, the deeper the onion flavor becomes. I often let mine simmer for 30 minutes total if I have time, but 35 minutes total simmering time is perfect for maximum flavor extraction.
Prepare the Baguette Topping
Preheat your broiler to high. While the soup simmers, slice the 1 whole baguette into ½-inch thick diagonal slices. Brush both sides of each slice generously with melted butter - this creates a perfect golden crust when broiled.
Arrange the baguette slices on a baking sheet and broil for 2-3 minutes until they're golden brown and crispy. Watch them closely - they go from perfect to burnt quickly. Let them cool slightly before placing them on top of the soup.
Assemble and Melt the Cheese
Ladle the hot soup into 6 oven-safe bowls or a large baking dish. Place 3-4 baguette slices on top of each bowl, slightly overlapping them to cover the soup completely. Sprinkle ⅓ cup of the 2 cups Gruyère cheese over each portion.
Broil for 3-5 minutes until the cheese is bubbly and golden brown with crispy edges. The cheese should melt completely but still have a slightly crispy top layer. If the cheese starts to brown too quickly, cover the bowls with foil and continue broiling until fully melted.
Pro Tips For Making Brennan'S French Onion Soup
- Caramelize Onions Slowly: I learned this the hard way—rushing the onions turns them bitter. Use medium-low heat and stir every 2-3 minutes until they’re deep golden, not brown. That’s the flavor foundation, so don’t rush it.
- Use Cold Butter for Roux: Skip the melted butter—toss cold butter and flour together first, then cook. This makes a smoother roux and prevents lumps. Trust me, your soup will taste richer.
- Don’t Overfill the Broth: Too much liquid dilutes the flavor. For Brennan’s recipe, aim for a 1:1 ratio of broth to onions (about 8 cups broth for 2 large onions). Thin it later if needed.
- Toast Gruyère Before Melting: Sprinkle the cheese on the soup 2-3 minutes before broiling, not right away. This lets it toast slightly for extra depth—just watch it like a hawk to avoid burning.
Pro cooking tips for this recipe
Onion Caramelization Mastery
Caramelizing 6 pounds of onions is where the magic happens—this isn’t just cooking, it’s alchemy. Use a large Dutch oven (I love All-Clad) and keep heat at medium-low the entire time. The goal is 45-60 minutes of slow cooking until onions are deep golden brown with crispy edges.
I add 1 tablespoon water every 15 minutes to prevent burning, which helps create that sweet, jammy texture. 🔥
Pro tip: Press down on the onions with a wooden spoon during the last 10 minutes to encourage maximum browning. If they start sticking, add another ½ tablespoon water—this keeps them moist while developing deep flavor.
The onions should smell like sweet caramel when done, with visible crispy bits around the edges.
Roux Perfection
The roux is your flavor anchor—don’t skip the browning step! Melt ½ cup unsalted butter (I prefer Plugrá for its rich flavor) over medium heat, then whisk in ½ cup all-purpose flour and cook for exactly 2 minutes until golden brown.
This isn’t a quick step; the roux should smell nutty and toasty. If it darkens too quickly, reduce heat to low. 🌡️
Whisk the roux into the broth gradually to avoid lumps. Use a wire whisk (like OXO Good Grips) and scrape the bottom of the pot constantly to incorporate those flavorful browned bits.
This is where the soup’s depth comes from—don’t rush it. The mixture should thicken slightly but remain smooth.
Broth Simmering Secrets
Simmering the broth is where patience pays off. After adding the onions back in, maintain a gentle simmer (small bubbles, not a rolling boil) for at least 20 minutes.
I like to cover the pot loosely with a lid to let steam escape—this prevents a skin from forming while still allowing flavors to meld. Taste after 15 minutes and adjust seasoning; the onions should dominate with a sweet, caramelized note. 💫
For extra depth, add 1 teaspoon fish sauce (trust me, it’s traditional in many French recipes) or a splash of dry sherry along with the wine. The broth should coat the back of a spoon and have a rich, almost syrupy consistency when reduced.
If it’s too thin, simmer uncovered for another 10 minutes to thicken naturally.
Cheese Melting Like a Pro
Gruyère is non-negotiable here—Whole Foods or Murray’s Cheese carry the best quality. Grate it fresh using a microplane (like BergHOFF) for maximum surface area and melt. When broiling, start with 3-4 minutes at high heat, then watch closely.
The cheese should bubble and turn golden brown on top while staying creamy underneath. If it browns too quickly, tent with foil and continue broiling. 🧀
For that signature "stringy" texture, use room-temperature cheese—it melts more evenly. If your cheese isn’t melting smoothly, sprinkle a pinch of cornstarch (about ½ teaspoon) over the top before broiling. This creates a silky, stretchy consistency that’s pure restaurant-quality magic.
Baguette Toasting Tricks
Day-old baguettes are ideal—they’re sturdier and toast better. Slice into ½-inch thick diagonal pieces and brush both sides with melted butter (I use Land O’Lakes unsalted). Broil for 2-3 minutes until golden brown and crispy.
The key is high heat—if you see smoke, reduce to medium-high immediately. Let the slices cool for 2 minutes before placing on soup to prevent sogginess. 🍞
For extra crunch, sprinkle ½ teaspoon smoked paprika on the butter before brushing. This adds a subtle smoky note that pairs perfectly with the caramelized onions. If your baguette is too fresh, toast it in the oven at 375°F for 5 minutes before slicing to dry it out slightly.
Nutrition facts
Frequently asked questions
Can I make this soup without wine?
Replace the 1 cup dry white wine with 1 cup beef broth or 1 cup apple juice for similar acidity. The wine adds depth, but these substitutes prevent the soup from tasting flat. For extra richness, add 1 teaspoon balsamic vinegar to mimic the wine's acidity.
How do I prevent the cheese from burning before melting?
Broil on high heat for just 2-3 minutes, then watch closely. If the cheese starts browning too quickly, tent the bowls with foil and continue broiling until fully melted. For extra insurance, sprinkle a pinch of cornstarch over the cheese before broiling—it creates a silky texture and helps prevent scorching.
Can I use a different type of cheese?
Gruyère is ideal, but Comté or Emmental work well as substitutes. Avoid pre-shredded cheese—it contains anti-caking agents that prevent proper melting. For a sharper flavor, mix ½ cup Gruyère with ½ cup sharp cheddar. Always grate fresh for the best texture and flavor.
How far ahead can I prepare the caramelized onions?
Caramelized onions keep well in the fridge for 5 days or frozen for 3 months. Store them in an airtight container with a splash of broth to maintain moisture. Reheat gently in a saucepan with a little butter before adding back to the soup. This shortcut saves hours of cooking time!
What's the best way to reheat leftovers?
Reheat soup gently on the stove over low heat until warmed through, then broil the cheese topping separately. For best results, add a splash of broth or water to thin the soup slightly. Never microwave—it makes the bread soggy and cheese rubbery. Reheat only the portion you plan to serve.
