Skip to Content

French Onion Soup

Is there anything better on a chilly winter day than a bowl of hearty French Onion Soup topped with melty cheese?

Two cocettes of French onion soup with a bunch of parsley on the side

I have a love/hate relationship with winter. I hate being cold. I hate walking the dogs on icy sidewalks. I hate driving in the snow. I hate how little daylight there is in winter.

But at the same time, I'd hate to live in a place that didn't have winter. I love being home on a snow day, watching the flakes fall with a cup of hot cocoa, and a pot of soup simmering on the stove.

A cocette of French onion soup on a baking sheet with shredded Gruyere cheese on top

When my brother and I would come inside from playing in the snow, my parents would make us each a grilled cheese sandwich and a bowl of soup: chicken noodle for me; creamy tomato for my brother.

I'm picky when it comes to soup. I usually prefer creamy soup, unless it's tomato soup. Chicken noodle is one exception; French onion soup is the other. Maybe it's the layer of gooey, melty cheese on top.

A photo of a spoon lifting the melty cheese up from the cocette of French onion soup

Good French onion soup is based on well-caramelized onions. Caramelizing onions (breaking down the sugars in the onions to produce a sweeter flavor) takes time; you can't rush the process. Some try to cheat by adding sugar to the onions as they cook, but I don't like the flavor that gives to the soup overall.

This recipe can be made ahead of time, through Step 7, then cooled to room temperature and refrigerated for up to 3 days. Reheat the soup to about simmering before proceeding with Step 8.

A close-up of a cocotte of French Onion Soup

Classic French Onion Soup

Yield: 4 servings
Prep Time: 10 minutes
Cook Time: 1 hour 30 minutes
Total Time: 1 hour 40 minutes

Is there anything better on a chilly winter day than a bowl of hearty French Onion Soup topped with melty cheese?


  • 3 tablespoon unsalted butter, plus more for bread
  • 3 large onions , (about 2 pounds), halved lengthwise and thinly sliced crosswise
  • Kosher salt and freshly ground black pepper
  • ¼ cup brandy
  • 1 quart beef stock
  • 4 slices hearty white bread, thick-sliced preferred, cut to fit bowls
  • 1 bay leaf
  • 1 thyme sprig
  • 2 juniper berries, or half a sprig of fresh rosemary
  • 2 flat-leaf parsley sprigs
  • 2 cups shredded Gruyère cheese (about 6 ounces)


  1. Lay a square of cheesecloth (about 4 inches by 4 inches) on a flat surface. Place the bay leaf, thyme, juniper berries and parsley sprigs in the center, then draw up the four corners and tie with butcher's twine to form a bouquet garni. Set aside. 
  2. Melt the butter in a large enameled cast-iron Dutch oven. Add the onions and a pinch of salt, cover and cook over medium heat, stirring occasionally, until the onions soften, about 10 minutes. 
  3. Uncover and cook over medium-low heat, stirring frequently, until the onions are caramelized, about 40 minutes.
  4. Stir in the brandy, scraping the bottom of the Dutch oven as you pour the brandy in. 
  5. Add the stock. Submerge the bouquet garni and increase the heat to high; bring the soup to a boil. Cover and simmer over low heat until the soup has a deep flavor, about 30 minutes. 
  6. While the soup is simmering, heat the oven to 350°. Butter the bread on both sides and place on a parchment-lined baking sheet. Toast the bread for 15 minutes, turning the slices halfway through, until golden and crisp but not dried out.
  7. Squeeze the bouquet garni of excess liquid; discard. Season the soup with salt and pepper.
  8. Ladle the soup into 4 deep ovenproof bowls and sprinkle with half of the cheese. Place a toasted bread sliced in each bowl and sprinkle on the remaining cheese. Place the bowls on a baking sheet, and place the baking sheet under a broiler for 2 to 3 minutes, or until the cheese is bubbling. Serve hot.


Make ahead: The recipe can be prepared through Step 7 up to 3 days ahead. Bring to room temperature, then transfer to an airtight container and store in the refrigerator. Simmer soup before continuing with the last step.

Nutrition Information:
Yield: 4 Serving Size: serving
Amount Per Serving: Calories: 543Total Fat: 31gSaturated Fat: 18gTrans Fat: 0gUnsaturated Fat: 11gCholesterol: 92mgSodium: 1191mgCarbohydrates: 33gFiber: 3gSugar: 8gProtein: 28g

I am not a certified nutritionist. This nutrition information is automatically calculated by third party software and is meant as a guideline only.

Did you love this recipe?

Leave a star rating below and share it on social media!

Adapted from Food & Wine

More Recipes for National Soup Swap Day

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Paula de la Puente

Tuesday 29th of June 2021

Where is the recipe??? can´t find it


Tuesday 29th of June 2021

Try refreshing the page, sometimes there are issues with caching.

Cheese Curd In Paradise

Sunday 20th of January 2019

I love french onion soup and this version looks incredible! I can't wait to try!


Sunday 20th of January 2019

This is my husband's favorite soup and it's slowly disappearing from menus around here. Will be so nice to surprise him with it at home!

Eileen Kelly

Saturday 19th of January 2019

I am with you on winter, love the food but not the cold. Oh my, this French Onion Soup is fantastic. I am a huge fan of French Onion Soup and your recipe is great. I love that you used Juniper Berries, they add a great level of flavor.

Tania Lau

Saturday 19th of January 2019

This is a classic that I will never get tired of! I absolutely love French onion soup. All that cheesy goodnesss!

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Skip to Recipe