French Shallot Soup with Gruyère Croutons
This French shallot soup with gruyère croutons is based on the classic dish but it’s even better thanks to sweet, caramelized shallots! With garlic, white wine, beef stock, and fresh thyme, it’s rich, savory, and beyond flavorful. Make this special dish for dinner parties, cozy nights in, or romantic date nights at home!
When I was a kid, French onion soup was one of those recipes my mom made that seemed so fancy. Of course, I never would have eaten it (because, ew onions) but I definitely was all about the cheesy toasts on top.
Of course, now that I’m grown, I’m all about those caramelized onions, rich broth, and bubbling gruyère cheese. But, I make mine with shallots, because well, that’s just what I’m about. Whether it’s domino potatoes with shallots or beef stroganoff with shallots and brandy, I’m a shallot girlie through and through.
And, with Valentine’s Day peeking around the corner, I wanted to create a date night recipe that felt elegant but still nice and cozy. This soup 100% fits the bill. Let’s make it together, shall we?
This recipe is based on the French onion soup my mom has been making for as long as I can remember. But I added a few extra ingredients like white wine, thyme, and chives and swapped the onions with shallots to add even more sweetness and depth. It’s the best.
- This soup is rich, savory, elevated, and has an intense caramelized shallot flavor.
- The recipe is super easy to make, even for beginner cooks.
- French onion soup is lovely as a dinner party starter, holiday appetizer, or cozy meal for two.
- You can make this recipe as-is or try the vegetarian version!
The ingredient list
- Butter – a bit of unsalted butter will add richness and help caramelize the shallots. Go for a good quality butter for the best flavor!
- Shallots – these are a type of allium that are similar to onions. But, they’re a bit sweeter and more delicate which tastes amazing in this soup.
- Salt and pepper – I use Morton’s Kosher salt and freshly-ground black pepper.
- Garlic – a bit of garlic will complement the sweetness of the shallots.
- White wine – a splash of white wine will add depth to the broth. The best wine for French onion soup is something dry, like Sauvignon Blanc, so it doesn’t make the soup too sweet!
- Flour – just a bit of flour helps thicken the broth to give it a velvety texture.
- Beef broth – a good quality beef broth definitely makes a big difference in this recipe! I recommend low-sodium so you can control the saltiness of the soup.
- Herbs – fresh thyme and a bay leaf will add extra flavor to the broth.
- Bread – I like a good baguette, country loaf, or crusty sourdough.
- Cheese – gruyère is a classic French cheese that melts smoothly and has a lovely, nutty flavor. And the parmesan adds a deep umami flavor.
- Chives – a sprinkle of fresh chives adds a little pop of freshness. They’re optional but highly recommended!
- Onions – you can also use yellow, Vidalia, or red onions in this soup. Or, try a mix of different onions and shallots!
- Wine – dry sherry is commonly used in French onion soup so feel free to use that instead. You can also leave out the wine and use more beef broth instead.
- Broth – feel free to use low-sodium chicken broth or a mix of chicken and beef.
- Herbs – if you’re not a fan of thyme, rosemary would be delicious too!
- Cheese – sharp white cheddar, Swiss cheese, provolone, or a mix are all great options.
- Vegetarian – for vegetarian French onion soup, use veggie broth instead of beef.
How to make this recipe
Cut the shallots
- First, peel the papery skin off of the shallot and separate the bulbs if there’s more than one. Then, cut the tips and roots off of the shallots, leaving the stems intact.
- Turn a shallot on its flat side. (If it’s particularly large, slice it in half length-wise.) Then, thinly slice the shallot length-wise into thin slices, about 1/8-inch to 1/4-inch thick.
- Once the shallot is too thin to keep slicing, flip it on its flat side. Then, slice the rest of the shallot. Easy!
This recipe calls for lots of shallots (3 pounds!). For quicker slicing, you can also use a mandoline on the 1/4-inch setting after peeling the shallots.
Caramelize the shallots + deglaze
- Start by melting the butter in a large Dutch oven. Then, add the sliced shallots and a few pinches of salt.
- Cook the shallots low and slow, stirring every once in a while, until they’re softened and translucent.
- Keep cooking the shallots, stirring often, until they’re deep brown and caramelized. They should not be crispy whatsoever. If the shallots start to stick to the pan, add a few drops of water to help loosen them up.
- Once the shallots are caramelized, stir in the garlic for about 1 minute. Then, deglaze the pan with white wine and cook until the wine is almost completely evaporated.
When I was in culinary school, we learned that the trick to perfect caramelized shallots is cooking them low and slow and using a large pot so they caramelize instead of steam. It’s a marathon, not a sprint! Caramelized shallots can take anywhere from 45 minutes-1 1/2 hours, so feel free to do other things while they cook away.
Make the soup + simmer
- Tip the flour into the shallot mixture and stir for about 1 minute to cook off the raw flour taste.
- Then, add the beef broth, pepper, thyme, and bay leaf.
- Bring the soup to a gentle simmer and let it bubble for about 30 minutes.
Broil the gruyère croutons + serve
- Place the sliced bread on a sheet pan. Broil the croutons until they’re lightly toasted, about 2 minutes per side.
- Then, top the toasts with the gruyère and parmesan cheese. Broil them for 3-4 minutes until the cheese is melted and bubbling.
- Lastly, ladle the soup into bowls. Top each bowl of soup with one of the gruyère croutons and sprinkle with fresh chives. Enjoy!
I like adding the croutons right before serving so they don’t get soggy. But, if you prefer a more traditional French onion soup, you can also use soup crocks! Just ladle the soup into oven-safe bowls or crocks. Top each soup with two slices of toast and sprinkle them generously with gruyère and parmesan. Broil until the cheese is melted and bubbling, about 3-4 minutes.
Serving & side dish ideas
If you don’t know what to serve with French onion soup, I got you. This soup can be served as either a starter or as a meal. It’s one of my go-tos for intimate dinner parties, holiday dinners, or cozy date nights at home!
- Serve this soup as an appetizer or side dish with reverse sear filet mignon, short rib beef bourguignon, or apple pork chops.
- Eat this soup as a main meal with side dishes like green salad, lemony green beans, charred broccoli, or caramelized Brussels sprouts.
- For a classic French vibe, serve a French cheese board after the soup.
- Finish the meal with coffee crème brûlée, a ginger pear galette, mascarpone cheesecake, or cardamom orange crème brûlée.
Make extra croutons to serve on the side! Once the croutons are added to the soup, they get soggy so I like to have a little plate of toasts for dipping as everyone eats.
The best wine with French onion soup totally depends on what you like to drink. For me, I like pairing French onion soup with a wine that is dry, acidic, and lightly fruity to cut through the richness of the soup. These are some of my go-to pairings!
- Red wine – Pinot Noir, Grenache, Barbera, or Syrah
- White wine – Pinot Gris, unoaked Chardonnay, champagne, or Sauvignon Blanc
Storing, make-ahead, & reheating
To store leftovers, ladle the soup into an airtight container. Refrigerate the soup (without the croutons) for up to 5 days. When you’re ready to eat the soup, make the croutons fresh and enjoy!
This soup is also one of my favorite make-ahead recipes. I actually think it tastes better after the flavors have melded in the fridge for a day or two! Just store the cooled soup in the Dutch oven or in airtight containers until you’re ready to serve.
To reheat leftovers, spoon the soup into a small saucepan and bring it to a gentle simmer over medium heat. Meanwhile, broil the croutons. Add the croutons to the soup and enjoy! Or, you can microwave the soup in a microwave-safe bowl for 1-2 minutes, stirring halfway through, until hot.
I do not recommend freezing this soup. It doesn’t defrost well which will affect the overall texture. It’s best eaten fresh or made 1-2 days in advance!
Tips & tricks
- Since this soup is so simple, high-quality ingredients truly make a big difference! Go for good-quality butter, beef broth, cheese, bread, and fresh herbs.
- Slice the shallots thinly so they caramelize evenly. Go for about 1/8 to 1/4-inch thick.
- For more complex flavor, use a mix of shallots and onions. I like Vidalia but yellow or red onions work too!
- Use a large pot so the shallots caramelize and don’t steam. A Dutch oven is great but any big soup pot will work.
- This recipe will serve 6 as an appetizer or side. If you’re serving this as a main meal with another side or two, it will feed 4. Or, halve the recipe for French onion soup for two!
What is the best cheese for French onion soup?
I like a mix of gruyère and parmesan. The gruyère is traditional and melts so nicely for a creamy texture and nutty taste. And the parmesan adds a rich, sharp flavor. But you can also use white cheddar cheese, provolone, Swiss cheese, or a mix.
How can I deepen the flavor of the soup?
To deepen the flavor, make sure you’re using a mix of good-quality beef broth and white wine. Together, those ingredients add a lot of flavor! The thyme and bay leaf will also add more complexity to the broth. If you want to deepen the flavor even more, try adding a small splash of Worcestershire sauce. Start with 1 teaspoon and add more, to taste.
Should I use red or white wine?
I use white wine because I like the acidity it adds to the broth. I typically use a dry Pinot Gris or Sauvignon Blanc. You can also try red wine but it will add a different flavor to the soup. Make sure you’re using a dry red wine like Pinot Noir or it will make the soup too sweet!
Why do you add flour to this soup?
I like adding a little flour to help thicken the soup and make it glossy. Of course, you totally don’t have to. If you prefer a thinner broth, feel free to leave it out.
Is there a difference between French onion & onion soup?
Yes! French onion specifically has caramelized onions, beef broth, wine, and cheesy croutons. But other types of onion soups can have different broths, herbs, spices, or other veggies depending on the recipe.
More shallot recipes
If you make this recipe, I would love it if you left a star rating and review! I read every single comment and love hearing what you think about my recipes. Thank you for supporting Sunday Table!
French Shallot Soup with Gruyère Croutons
French Shallot Soup
- 3 pounds shallots (1.4 kilograms)
- 1/4 cup unsalted butter (57 grams)
- Kosher salt, to taste
- 1 Tablespoon minced garlic (10 grams – about 4 cloves)
- 1/2 cup dry white wine (120 grams)
- 2 Tablespoons all-purpose flour (15 grams)
- 8 cups low-sodium beef broth (1.9 liters)
- Freshly-ground black pepper, to taste
- 6 sprigs of fresh thyme
- 1 bay leaf
- 1 loaf of crusty bread (baguette, country bread, or sourdough)
- 1 cup grated gruyère cheese (112 grams)
- 1/2 cup grated parmesan cheese (56 grams)
- Chopped fresh chives, for sprinkling
Cut the shallots
- Start by peeling the papery skin off of the shallots and separating the bulbs. Slice the tips and roots off of the shallots, leaving the stems intact. If the shallots are large, cut them in half length-wise.
- Working one at a time, turn a shallot onto the flattest side (this will keep it stable). Then, cut the shallot length-wise into thin slices, about 1/8-1/4-inch thick.
- One the shallot is too thin to slice comfortably, flip it sideways onto the flat side. Then, thinly slice the rest of the shallot. Repeat with the remaining shallots and set aside.
Caramelize the shallots
- Start by melting the butter in a large Dutch oven over medium-low heat. Then, add the sliced shallots and a few generous pinches of salt.
- Cook the shallots, stirring often, until they're soft and translucent. If the shallots start to stick to the pan, add a few drops of water to loosen them up. Continue cooking the shallots, stirring every couple of minutes so they don't stick to the pan or brown too much in one place. After about 20 minutes, the shallots will be blonde-colored. If they're browning too much or sticking a lot, reduce the heat.
- Keep cooking the shallots, low and slow, until they're deep brown and caramelized, another 25-35 minutes. If they're not a deep brown, keep cooking for another 10-30 minutes. Stir the shallots often so they don't burn or stick to the pan. Be patient! This process can take anywhere from 45 minutes to 1 1/2 hours total depending on the pan and heat source.
Make the soup
- Once the shallots are caramelized, increase the heat to medium high. Add the garlic and cook for 1 minute until the garlic is softened and fragrant. Deglaze the shallots with the white wine, scraping up any brown bits on the bottom of the pot. Let the wine simmer until it's almost completely evaporated and the onions are jammy.
- Stir in the flour and cook for about 1 minute. Add the beef broth, black pepper, thyme, and a bay leaf. Bring the soup to a boil. Then, reduce the soup to a gentle simmer and let it bubble on the stove for about 30 minutes, until it's rich and glossy. Remove the thyme stems and bay leaf and discard. Taste the soup and add more salt and pepper if needed.
Broil the gruyère croutons
- Set the broiler on high and place an oven rack about 6 inches away from the broiler. Slice the bread into 12-18 slices (about 1/2-inch thick) and line them on a sheet pan. Broil the bread slices until they're lightly toasted, about 2-3 minutes per side.
- Meanwhile, combine the gruyère cheese and parmesan cheese in a small bowl. Evenly divide the cheese between the tops of the croutons. Broil for another 2-4 minutes until the cheese is melted and bubbling.
Assemble and enjoy
- Ladle the soup evenly between 6 bowls. Top each bowl of soup with one gruyère crouton and sprinkle the tops generously with fresh chives. Serve extra croutons on the side for dipping. Enjoy!
xo Sara Lynn
Song of the day – Goodbye Weekend by Mac DeMarco