Makes: 1 quart (about 3-4 servings) | Total Time: 1 hour 30 minutes
This recipe has been a long time coming. This is my third version of it, and by far my favorite. I call it a “bistro style” because it’s very intentional with flavors, has a LOT of caramelized onions, uses three different types of onions for extra layers of flavor, and is piled with gruyere cheese and one of my favorite upgrades ever to French onion soup: using day-old focaccia as the croutons.
I designed this recipe to make a quart of French onion soup, which goes pretty far for two people. You could easily freeze it and reheat it later, or just plan on a couple of days of having an incredible bowl of soup for dinner. Your call. 🙂

Ingredients
- 2 lbs. Onions: 2-3 medium Yellow Onions, 1 medium Red Onion, 2-3 Shallots
- 1 tbsp. Unsalted Butter
- 2 tsp. Olive Oil
- Salt, to taste
- 1/4 cup Dry White Wine (like Pinot Grigio or Unoaked Chardonnay)
- 1 clove Garlic, minced
- 1 tbsp. All-Purpose Flour
- 4 cups Beef Stock
- 4-5 sprigs Fresh Thyme
- 1 sprig Fresh Rosemary
- 1 tbsp. Worcestershire Sauce
- 1-2 day old Focaccia
- Gruyere Cheese, plenty to taste


Quick Ingredient Notes:
- Onions I used yellow onions for the bulk of the soup, as they are traditionally used in French Onion Soup. I added red onion for a little layered sweetness, and shallots for a mild garlic + onion flavor. I think it’s a super special way to enhance the flavor of the soup, but you can definitely just use yellow onions if you prefer!
- Beef Stock: Beef stock tends to have a little more body than beef broth, as it is made with bones. For the best flavor, find a beef broth from your local butcher, or use the Better than Bouillon Roasted Beef base.
- Fresh Herbs can be substituted with dry herbs. Use about 1/2 teaspoon of dried thyme and 1/4 teaspoon of dried rosemary to infuse a little flavor.
- Salt & pepper are very necessary for the best flavor. Season and taste as you go to make it yours.
- Focaccia is SO good at soaking up liquids. I used one that had been sitting in my fridge for a few days, and let it sit on the countertop overnight to really dry out. Then I cut it into small cubes and used it for this soup. Other bread options are French bread, baguette, Italian bread, or artisan white bread. Just make sure they’re a little stale / dried out to use them for this soup.
This was actually inspired by the French onion soup we recently had at a super cute restaurant in midtown KC. It’s a French-inspired restaurant, and omg, the soup was REALLY good. I made mine just a little lighter by using white wine instead of red wine, but you can use red if you want! Just don’t be shy with the cheese on top, that’s like my top takeaway from everything. 🙂

How to Make It
Step One: Slice the Onions. Peel the onions and cut off the root and stem ends. Slice them in half, then thinly slice them (going the same direction as the rings) into 1/8″ thick slices. You can also use a mandolin for this, but please be careful if you do. You’ll have a really solid 8 cups of onion slices for this soup.

Step Two: Caramelize the Onions. This step takes patience, but it’s worth it. In a ceramic Dutch oven, melt the butter over medium heat. Drizzle in the olive oil, then add all of the onion slices with a generous pinch of salt. Use a wooden spoon or spatula to toss the onions in the fats until they’re mostly coated. Let them cook, undisturbed, for 15 minutes. Continue cooking for another 40-50 minutes, stirring occasionally, until they begin to caramelize. Once they are a jammy texture and a deep brown color, they’re ready! (The dutch oven used in these photos is a 3.5 quart dutch oven. Any large saucepan or dutch oven sized from 3.5 – 5 quarts will work!)




While the onions caramelize, gather the thyme and rosemary together and use twine to tie them together in a little bundle. Set aside for a later step.
Step Three: Add some flavor. Stir in minced garlic and cook for about 30 seconds. Add 1/4 cup dry white wine to the onions, stir, and cook for 2-3 minutes. Stir in flour and cook another 2 minutes.


Step Four: Add the broth and herbs. Pour 4 cups of beef stock into the pot and toss in the herb bundle. Add 4-5 dashes of Worcestershire and bring the pot to a boil. Boil the soup for 15 minutes.

Step Five: Taste and Adjust. Taste a spoonful, then add more salt, pepper, or Worcestershire if desired. Remove the herb bundle and discard.

Add Bread and Cheese. Spoon the soup into two oven-safe bowls, leaving about 1/2″ at the top. Scatter the focaccia pieces over the top of the soup, then cover each bowl with a very generous amount of shredded gruyere (the amount will vary based on the size of your bowl. Don’t be shy here: any uncovered focaccia will start to burn under the broiler, so generously cover everything with cheese.)


Broil. Place the bowls onto a rimmed baking sheet so any soup or cheese that may bubble over the sides will be caught on the baking sheet. Broil the soups under a “low” broil heat for 3-5 minutes, keeping a close eye on them, until the cheese is slightly browned and totally melted.


Serve. Very carefully transfer the soup bowls to plates. Let them cool briefly, then enjoy!


A Flavor Journal Notes
My notes for making this as amazing as possible!
- Really be patient with the onions.
Once they start to caramelize, it’s easy to get excited and think they’re done. Keep going until that really deep brown color and a super jammy texture. It’ll take a few minutes more than you think! And towards the end of them caramelizing, you can stir them frequently so they don’t burn in the pan. Always adjust the heat down if they’re browning too quickly at any point, too. - Don’t be shy with the salt, but taste the broth before using it.
You’d be surprised how much the salt really brings out the flavor of this soup. But taste your beef stock (or broth) first so you know how salty it is before you add a bunch of salt at the end. - Swap the white wine for red for more depth. Totally interchangeable, and totally your call. The white wine keeps the broth a little lighter, but red wine would add some character and depth if that’s what you’re going for. I’d recommend a Côtes du Rhône (always my go-to wine for cooking), or even a light Italian wine (sacrilege, I know) like Sangiovese / Chianti.
- Gruyere cheese is seriously so good and I wouldn’t change it!
It’s pricey, yes. But it is SOOOO rich, flavorful, and totally seals the deal on this whole soup. There’s a cheddar + gruyere blend I’ve seen at Trader Joe’s that would be a less expensive option, too! Use leftover gruyere in my small batch mac and cheese recipe (instead of Monterey Jack or Cheddar). - Focaccia makes it fun.
Literally use whatever bread you want for the topping, but I wholeheartedly think focaccia makes it so fun and flavorful and REALLY soaks up the soup in the best way. The bites of it that are soaked in soup are next level good. You can totally use an herb or cheese flavored focaccia, too! You know what tastes good, so use flavors that will work well with this soup.
What to Serve With It
- A super simple mixed green salad with this Maple Balsamic Dressing would be amazing. I also love a good Caesar Salad for a girl dinner type of situation.
- A small turkey sandwich (on focaccia, of course) would be pretty great with this if you’re doing smaller soup portions for lunch or dinner, too!
- If you want to turn this into a Thursday evening treat with a glass of wine, I highly recommend a glass of Côtes du Rhône. 🍺


More Small Batch Soup Recipes
I have a LOT of soup recipes on my website, which you can find here! But here are a few reader favorites!

If you love small batch recipes, I hope you’ll stick around to look at more on my site! I LOVE making small batch dinners for two, and there’s a variety of weeknight dinners as well as date night dinners for you to search through. If you make any of my recipes, it means SO much to me if you rate them on here or leave a comment! You can also share your pics on Instagram and tag me if you like! Thanks so much for being here, and I hope you love this soup recipe!

Bistro French Onion Soup for Two
Ingredients
- 2-3 medium Yellow Onions
- 1 medim Red Onion
- 2-3 Shallots (2 total combined pounds of onions)
- 1 tbsp. Unsalted Butter
- 2 tsp. Olive Oil
- Salt to taste
- 4-5 sprigs Fresh Thyme
- 1 sprig Fresh Rosemary
- 1 clove Garlic minced
- 1/4 cup Dry White Wine like Pinot Grigio or Unoaked Chardonnay
- 1 tbsp. All-Purpose Flour
- 4 cups Beef Stock
- 1 tbsp. Worcestershire Sauce
- 1-2 day old Focaccia or sturdy white bread, for topping
- shredded Gruyere Cheese plenty to taste, for topping
Instructions
- Slice the Onions. Peel the onions and shallots cut off the root and stem ends. Slice them in half, then thinly slice them (going the same direction as the rings) into 1/8″ thick slices. You can also use a mandolin for this, but please be careful if you do. You’ll have a really solid 8 cups of onion slices for this soup.
- Caramelize the Onions. This step takes patience, but it’s worth it. In a ceramic Dutch oven, melt 1 tbsp. Unsalted Butter over medium heat. Drizzle in 2 tsp. Olive Oil then add all of the onion slices with a generous pinch of Salt. Use a wooden spoon or spatula to toss the onions in the fats until they’re mostly coated. Let them cook for about 10-15 minutes, stirring occasionally. Continue cooking for another 40-50 minutes, stirring occasionally, until they begin to caramelize. Once they are a jammy texture and a deep brown color, they’re ready! (The dutch oven used in these photos is a 3.5 quart dutch oven. Any large saucepan or dutch oven sized from 3.5 – 5 quarts will work!)While the onions caramelize, gather 4-5 sprigs Fresh Thyme and 1 sprig Fresh Rosemary together and use twine to tie them together in a little bundle. Set aside for a later step.
- Add some flavor. Stir in 1 clove Garlic and cook for about 30 seconds. Add 1/4 cup Dry White Wine to the onions, stir, and cook for 2-3 minutes. Stir in 1 tbsp. All-Purpose Flour and cook another 2 minutes.
- Add the broth and herbs. Pour 4 cups Beef Stock into the pot and toss in the herb bundle. Add 1 tbsp. Worcestershire Sauce and bring the pot to a boil. Boil the soup for 15 minutes.
- Taste and Adjust. Taste a spoonful, then add more salt, pepper, or Worcestershire if desired. Remove the herb bundle and discard.
- Add Bread and Cheese. Spoon the soup into two broiler-safe bowls, leaving about 1/2″ at the top. Tear or cut 1-2 day old Focaccia into bite-sized pieces, and spread them over the top of the soup. Cover each bowl with a very generous amount of shredded Gruyere Cheese (the amount will vary based on the size of your bowl. Don’t be shy here: any uncovered bread will start to burn under the broiler, so generously cover everything with cheese.)
- Broil. Place the bowls onto a rimmed baking sheet so any soup or cheese that may bubble over the sides will be caught on the baking sheet. Broil the soups under a “low” broil heat for 3-5 minutes, keeping a close eye on them, until the cheese is slightly browned and totally melted.
- Serve. Very carefully transfer the soup bowls to plates. Let them cool briefly, then enjoy!
Nutrition
Tried this recipe?
Make sure to follow on Pinterest @aflavorjournal and on Instagram @aflavorjournal







Get More from A Flavor Journal!
Don’t forget to connect with me on social media where I share all of my small batch recipes!