Soups & Stews
The 99 Restaurant French onion soup delivers the same rich, caramelized depth and gooey Gruyère clouds you crave from that iconic Texas diner. 🌟 What makes this recipe special is the slow-cooked onion base that develops layers of sweetness and complexity—just like the original. The secret lies in patience and technique, transforming simple onions into a flavorful foundation that simmers for hours.
This isn’t your average onion soup. We’ll caramelize the onions until they’re deep golden brown, then build a rich beef broth that absorbs all those sweet, savory flavors. The key is letting it simmer low and slow, allowing the onions to melt into the broth and create that signature depth that sets 99 Restaurant’s version apart. Every spoonful should be packed with umami and warmth.
Topped with a slice of toasted baguette and a generous layer of melted Gruyère cheese, this soup becomes a comforting, restaurant-quality meal. The cheese melts into golden, bubbly clouds that blanket the broth, while the toasted bread adds a satisfying crunch. It’s the kind of dish that feels indulgent yet simple to make at home—perfect for chilly evenings or when you’re craving a taste of Texas comfort food.
Ready to recreate that iconic bowl of soup? Let’s get started with the step-by-step instructions that will bring you one step closer to that legendary 99 Restaurant experience. The result? A steaming, flavorful bowl that tastes just like the one you remember—or wish you could order again.
Ingredients for 99 restaurant french onion soup
Sweet onions, rich broth, and melted Gruyère—here’s your shortcut to 99’s legendary soup.
| Ingredient | Amount | Notes |
|---|---|---|
| Yellow Onions 🧅 | 4 lb | Large, sweet onions preferred |
| Unsalted Butter 🧈 | ½ cup | Cold, cubed for caramelization |
| All-Purpose Flour 🌾 | ¼ cup | For roux, sifted |
| Beef Broth 💧 | 6 cups | Homemade or high-quality store-bought |
| Dry White Wine 🍷 | ½ cup | Bold, dry variety |
| Garlic Cloves 🧄 | 4 cloves | Minced for depth |
| Thyme Sprigs 🌿 | 2 whole | Fresh preferred |
| Bay Leaves 🍃 | 2 whole | For subtle flavor |
| Gruyère Cheese 🧀 | 1 cup | Freshly grated, aged |
| Baguette 🥖 | 1 whole | Crusty, sliced for topping |
| Salt 🧂 | 2 tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Olive Oil 🫒 | 1 tbsp | For drizzling |
The onions are non-negotiable. Sweet onions like Vidalia or Maui are ideal, but yellow onions work too—just be patient. H-E-B or Whole Foods usually carry the sweet varieties, but any grocery store’s yellow onions will do if you’re in a pinch. Look for onions that feel heavy for their size and have a crisp texture. The butter? Cold, cubed butter is key for caramelizing the onions properly—don’t skip this step. For the beef broth, homemade is best, but Swanson or Pacific Foods are solid store-bought options. Avoid the low-sodium kind unless you’re adding extra salt later.
No white wine? Dry chicken broth works in a bind, but the acidity from wine helps balance the sweetness. Fresh thyme is ideal, but dried thyme at half the amount gets you close. The Gruyère matters—pre-shredded won’t melt right, so grab a wedge and grate it yourself. For the baguette, Trader Joe’s or any bakery has great crusty loaves. If you can’t find one, a French bread from the grocery store’s freezer section works too. The flour should be sifted to avoid lumps in the roux, and the garlic? Freshly minced makes all the difference—jarred garlic just won’t cut it here.
This soup tastes even better the next day—make a double batch if you can. Store the broth in an airtight container in the fridge for up to 5 days. The cheese and bread topping should be added fresh before serving, but you can toast the bread ahead of time and store it separately. Freeze the broth without the cheese for up to 3 months. When reheating, add a splash of water or broth to prevent the cheese from seizing up. And trust me, everyone will ask for seconds—so make extra.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe—just onions, butter, and a splash of wine caramelizing in one pot while I chop bread. No messy cleanup, no extra dishes. The flour makes a quick roux that thickens the broth into something restaurant-worthy without fuss.
- Wine-Infused Depth: That splash of dry white wine? It’s the secret weapon. It brightens the rich beef broth and balances the sweetness of the onions so well, you’ll taste it in every spoonful. Honestly, I’ve tried skipping it—don’t.
- Weeknight to Dinner Party: Same recipe, totally different vibes. Serve it bubbling in mugs for a lazy Tuesday or pour it into ovenproof bowls with toasted bread for guests. The broth reduces beautifully, so it’s always impressive without extra effort.
- Budget-Friendly Luxury: Onions and broth are cheap, but this tastes like a splurge. I make a double batch—one for dinner, one to reheat later. The flavors only get better the next day, and it’s way cheaper than takeout. My wallet thanks me.
Step-by-step instructions for French onion soup with Gruyère
Here's how to build that iconic, restaurant-quality French onion soup with deep caramelized layers.
🔥 Step 1: Caramelize the Onions to Perfection
Cut the 4 lb yellow onions into even ¼-inch slices—thin enough to cook quickly but thick enough to hold shape. In a large, heavy pot, melt the ½ cup cold unsalted butter over medium-low heat. Add the onions and sprinkle with 1 tsp salt—this helps draw out moisture for better caramelization.
Stir occasionally for 45-60 minutes until the onions transform from pale yellow to deep amber brown. You're aiming for that signature caramelized sweetness, so don't rush this step. The onions should coat the bottom of the pot in a thick, glossy layer. If they stick, add a splash of water and scrape up the browned bits—they're packed with flavor.
🍳 Step 2: Build the Roux and Deglaze
Once the onions are deeply caramelized, increase heat to medium and stir in the ¼ cup all-purpose flour. Cook for 2-3 minutes, stirring constantly, until the mixture turns a rich, nutty brown—a proper roux. This will thicken your soup beautifully.
Pour in the ½ cup dry white wine and scrape up all those delicious browned bits from the bottom. Let it simmer for 2-3 minutes until the alcohol cooks off and the mixture reduces slightly. Here's where the magic happens—the wine lifts all those caramelized flavors into the soup.
🥘 Step 3: Simmer the Broth with Aromatics
Gradually whisk in the 6 cups beef broth, making sure to break up any flour lumps. Add the 4 minced garlic cloves, 2 thyme sprigs, and 2 bay leaves, then bring to a gentle simmer. The soup should bubble softly—not a rolling boil, or it'll turn cloudy. Let it cook uncovered for 30-45 minutes until the flavors meld and the soup thickens slightly.
Taste and adjust seasoning with the remaining 1 tsp salt and ½ tsp black pepper. The broth should be rich but not overpowering—you want the caramelized onion flavor to shine. If it's too thin, simmer uncovered for another 10-15 minutes to reduce.
🔪 Step 4: Toast the Baguette and Assemble
While the soup simmers, slice the whole baguette into ½-inch thick pieces. Brush both sides with the 1 tbsp olive oil and toast in a 400°F oven for 5-7 minutes until golden and crisp. The baguette should be firm enough to hold its shape under the cheese but still soft enough to eat.
Here's the thing—don't skip the toasting. Crispy bread is the foundation of that perfect French onion soup texture. You'll want enough slices for 2 per bowl—about 8 slices total—so toast them all at once.
🍽️ Step 5: Melt the Gruyère and Serve
Preheat your broiler to high. Ladle the hot soup into 4 oven-safe bowls, placing 2 baguette slices in each. Top each portion generously with ¼ cup freshly grated Gruyère cheese. The cheese should be aged but not too hard—it needs to melt smoothly into a golden blanket.
Broil for 2-4 minutes until the cheese bubbles and turns a beautiful golden brown. Watch it carefully—it goes from perfect to burnt in seconds. Serve immediately with extra baguette slices on the side. The contrast of crispy bread, creamy cheese, and rich onion broth makes every spoonful unforgettable.
Pro Tips For Making 99 Restaurant French Onion Soup
- Sweat, Don’t Burn: The onions should melt into a deep amber, not turn to ash—this takes patience. Use medium-low heat and stir every 3-4 minutes, resisting the urge to rush. I learned this the hard way when my first batch smelled like a campfire instead of a bistro. ---
- Salt the Butter: Taste that unsalted butter before using it—you’ll need about 1 teaspoon of salt per ½ cup. Skipping this step means your soup will taste flat, especially after the wine and broth mellow things out. Trust me, it’s worth the extra pinch. ---
- Deglaze Aggressively: After browning the onions, pour in that white wine and scrape every bit of fond from the pot with a wooden spoon. The caramelized bits are flavor gold—ignore them, and your soup will taste like it’s missing something. (Yes, even if you’re impatient like me.) ---
- Simmer, Don’t Boil: Reduce the broth to a gentle simmer, not a rolling boil, or the flour will cook into a gluey mess. A steady 180°F (82°C) keeps the roux smooth and the soup velvety—no one wants to eat glue, even in soup form.
Common mistakes when making this dish
Rushing the Caramelization
I’ve seen too many cooks rush the caramelization step, thinking they can speed it up by turning the heat higher. Don’t do it! The onions need 45-60 minutes of slow cooking over medium-low heat to develop that deep, sweet flavor. High heat burns the onions instead of caramelizing them, leaving a bitter taste. If you’re impatient, try slicing the onions slightly thinner—¼-inch slices strike the perfect balance between speed and flavor. 🔥
Skipping the Roux
The roux is what transforms this soup from ordinary to restaurant-quality. If you skip it or make it too quickly, your soup will end up thin and watery. Cook the ¼ cup flour in the caramelized onions for 2-3 minutes until it turns a rich, nutty brown. This step thickens the soup and adds body. I’ve tried shortcuts, but nothing beats the texture and depth a proper roux brings. 🍳
Using Pre-Shredded Cheese
Pre-shredded cheese is a common shortcut, but it’s a flavor and texture disaster in French onion soup. The anti-caking agents in pre-shredded cheese prevent it from melting smoothly into that perfect golden blanket. Always use freshly grated Gruyère—it melts beautifully and tastes far superior. If you’re in a pinch, buy a wedge and grate it yourself. The extra effort is worth it. 🧀
Overfilling the Bowls
When broiling the cheese, it’s easy to overfill the bowls, which can cause the cheese to spill over or burn. Use 4 oven-safe bowls and fill them only ¾ full with soup. This gives the cheese room to bubble and brown without overflowing. Also, make sure your broiler is preheated to high—this ensures even melting without scorching. 🔥
Not Deglazing Properly
Deglazing the pot after caramelizing the onions is where 90% of the flavor develops. If you skip this step or don’t scrape up all those browned bits from the bottom, you’re missing out on layers of umami. Pour in the ½ cup dry white wine and let it simmer for 2-3 minutes, scraping up every bit of flavor. This is the secret to that restaurant-style depth you’re craving. 🍷
Underseasoning the Broth
Many home cooks hold back on salt and pepper, thinking they can adjust it later. But once the soup is finished, it’s hard to fix over-thin broth. Taste the soup after simmering and adjust with the remaining 1 tsp salt and ½ tsp black pepper. The broth should be rich but balanced, with the caramelized onions shining through. If it’s too thin, simmer it uncovered for another 10-15 minutes to reduce. ✨
Nutrition facts
Frequently asked questions
Can I make this French onion soup vegetarian?
Replace the beef broth with 6 cups vegetable broth and add 2 tbsp soy sauce or 1 tbsp miso paste for umami depth. Use 1 cup vegetable stock**> instead of beef broth in the roux step. The caramelized onions and Gruyère will still shine—just ensure your broth is rich and flavorful.
How far ahead can I prepare the soup base?
The caramelized onion base keeps well in an airtight container in the fridge for 5 days or freezer for 3 months. Reheat gently on the stove before adding fresh broth and cheese. The key is to avoid reheating the cheese topping—always add it fresh before broiling. This makes prep ahead of time a breeze!
What cheese works best if I can't find Gruyère?
For a similar melt, use Comté or Emmental cheese—both melt beautifully and have a nutty flavor. Avoid cheddar or pre-shredded blends, as they won't create that signature golden, bubbly blanket. If you're adventurous, try Swiss cheese for a slightly sweeter taste. Always grate it fresh!
Can I make this soup in a slow cooker?
Yes! Caramelize the onions on the stovetop first, then transfer everything (except cheese and bread) to the slow cooker. Cook on low for 6-8 hours or high for 3-4 hours. The slow cooker enhances the onion flavors beautifully. Just add fresh cheese and toasted bread right before serving.
Why does my soup taste bitter?
Bitterness usually comes from overcooking the onions (burning them) or using too much wine. For the best flavor, caramelize onions over medium-low heat and deglaze with wine immediately after adding flour. If it's too bitter, balance it with a pinch of sugar or a splash of apple cider vinegar (just 1 tsp).
