This rich, flavorful, classic French onion soup is easy-to-make with caramelized onions and garlic, vegetable stock, madeira wine, toasty bread, and melty cheese. It's the perfect cozy winter meal or for a fancy date night at home!
Ingredient Notes
- Onions, shallots, garlic - I use a combination of sweet onions, shallots, and garlic to create a more complex depth of flavor, but you can absolutely just use onions if that's all you have! I recommend using sweet onions for the best flavor, but yellow onions will work too!
- Wine - Madeira wine is my favorite type of wine to use but sadly it can be difficult to find. Sweet marsala wine, sherry, or port wine also work great! In a pinch you can use whatever red wine you have on hand but I find the flavor just isn't as rich. However, I don't recommend omitting the wine all together.
- Vegetable stock - I always use my homemade vegetable stock because that's what I keep on hand. But beef stock is also delicious and will add a ton of flavor to your soup if you aren't trying to keep it vegetarian!
- Cheese - Classic French onion soup is made with gruyere cheese (which is my favorite!) but you can also use Swiss or fontina cheese or a combination of all three!
There are two ways to get that delicious melty cheesy bread on top of your French onion soup. You can divide the soup into oven safe into ramekins or cocottes (pictured) and then place a slice of day-old thick baguette bread on top and add cheese, then broil for about 5 minutes. Or if you don't have oven safe bowls, you can toast the cheese topped bread in the oven and serve them separately.
If you make this classic French onion soup, be sure to leave us a star rating and review at the bottom of the page! This provides helpful feedback to both me and other readers!

Classic French Onion Soup
Equipment
Ingredients
- ¼ cup unsalted butter
- 1 tablespoon olive oil
- 4 large sweet onions, sliced
- 2 shallots, sliced
- 4 cloves garlic, sliced
- 1 teaspoon kosher salt
- ½ teaspoon black pepper
- 2 tablespoons all purpose flour
- 1 ½ cups madeira wine , substitute marsala, sherry, or port
- 5 cups vegetable stock, or beef stock
- 2 bay leaves
- 2 teaspoons fresh thyme
- 4-6 slices French baguette
- 4 ounces gruyere cheese , substitute Swiss or fontina
Instructions
- Melt butter and olive oil in a large stockpot or Dutch oven over medium-low heat. Add in the onions, shallots, and garlic and season with salt and pepper. Cook until deep golden brown and caramelized, about 40 minutes to an hour. Be sure to stir often so that the onions don't burn.
- Stir in the flour and cook for 1-2 minutes (this removes the flour taste).
- Add in the wine to de-glaze the pan, making sure to scrape up any browned bits from the bottom of the pan.
- Stir in vegetable stock, thyme, and bay leaves. Bring to a boil; then reduce heat and simmer, stirring occasionally, until slightly reduced (about 20-30 minutes). Remove and discard thyme sprigs and bay leaves.
- Taste and adjust seasonings as desired. Preheat the oven to broil.
- Divide soup into oven-safe ramekins or bowls. Place onto a baking sheet. Top with baguette slices to cover the surface of the soup completely then sprinkle with cheese. Place into oven and broil until the cheese is melted and golden brown.
- Serve immediately.
Notes
Nutrition
More Savory Recipes
Browse more savory recipes →
This was amazing! I used a combo of Madeira and Sherry because I had a little bit of both to use up. I loved the addition of shallots and the sliced garlic as opposed to minced. I will definitely be using this recipe again, I think it’s my new go-to for this soup!