This rich and comforting French onion soup recipe is surprisingly simple to make at home. And it rivals the soup you’ll find at any restaurant.
Classic French Onion Soup Recipe photo by Taste of Home

French onion soup is one of our favorite comfort classics, beloved by onion lovers and picky eaters alike! Caramelizing the onions turns the once-sharp alliums into a sweet, meltingly tender bite. Pair them with a rich beef broth and a cheesy, garlic-toast topping, and you create a dish that transforms humble ingredients into a 5-star dinner.

The only caveat? Our French onion soup recipe is simple, but it is not quick. Time is the real secret ingredient here. The dish will be well worth the effort when you take that first bite!

How to Make French Onion Soup

Homemade French onion soup comes together in three simple steps: Caramelize the onions, simmer the broth and add a cheesy topping.

My mother refers to the first step as “babysitting” the onions. You can’t just put the onions on and walk away, or they might burn or cook unevenly. So, you need to stir them from time to time. You can remove the hands-on component and make slow-cooker caramelized onions, but you can’t avoid the time element. It takes at least 45 minutes on the stovetop for onions to become fully tender and golden brown. (Luckily, you can tackle this step several days in advance, if needed.)

From there, it’s time to simmer. Reducing the wine by half concentrates its flavors and cooks off most of the alcohol. Then, simmering the beef broth for an hour brings the flavors together. Put it together, and the soup develops a deep richness and a warming, cozy quality.

Finally, there’s the cheesy toast. There are several different ways to pull off this element. You can ladle the soup into broiler-safe dishes for an over-the-top presentation. Or simply melt the cheese directly on the bread and use it as a garnish.

French Onion Soup Ingredients

Onion cheese bread and other ingredients on a wooden tray. TMB Studio

  • Onions: Sweet onions are the best type of onion because they complement the savory beef broth. In a pinch, you can swap in yellow onions.
  • Beef broth: After the onions, beef broth is truly the “backbone” ingredient in this recipe. Using a good-quality broth is key. Store-bought is fine, but consider making your own homemade beef broth.
  • Port wine or dry sherry: These fortified wines are often served as after-dinner drinks. When reduced in dishes like soups and stews, the wine adds richness and depth. For an alcohol-free alternative, use beef broth with a splash of white wine vinegar, apple cider vinegar or sherry vinegar.
  • Garlic toast: We add garlic to the soup, and we also rub the cloves onto the toasted baguette. This simple step adds a mild garlic flavor that really makes the flavors pop. A crusty French bread (like baguette) is traditional. However, rye or pumpernickel creates a fun twist on the classic.
  • Gruyere or Swiss cheese: You can use either cheese, but Gruyere is worth seeking out. Its creamy, nutty character makes it the best cheese for this soup.

Directions

Step 1: Soften the onions

Cooking the onions in a dutch oven.TMB Studio

In a Dutch oven, heat the butter and 2 tablespoons oil over medium heat. Add the onions. Cook and stir until softened, 10 to 13 minutes.

Step 2: Caramelize the onions

Caramelized onions being cooked in a dutch oven TMB Studio

Reduce the heat to medium-low. Continue to cook the onions, stirring occasionally, until deep golden brown, 30 to 40 minutes. Add the minced garlic, and cook for two minutes longer.

Editor’s Tip: Caramelized onions are different from sauteed onions. Sauteed onions are softened and lightly browned but still retain a sharp, onion flavor. Caramelized onions have an extended cooking time that allows the onion’s natural sugars to brown. They have a deep color and an extra-sweet flavor.

Step 3: Simmer the soup

Adding the broth in the onion soup being cooked in a dutch oven.TMB Studio

Stir in the wine, and bring it to a boil. Cook until the liquid is reduced by half. Add the broth, pepper and salt, and return the mixture to a boil. Reduce the heat. Simmer, covered, stirring occasionally, for one hour.

Editor’s Tip: Taste the beef broth before adding it to the soup. Even low-sodium broth can be salty, so adjust the amount of added salt as needed.

Step 4: Toast the baguette

Applying the oil on baguette slices with a brushTMB Studio

Meanwhile, preheat the oven to 400°F. Place the baguette slices on a baking sheet, and brush both sides with remaining the 3 tablespoons of oil. Bake until toasted, three to five minutes on each side.

Step 5: Add garlic flavor

Rubbing the toasts with the halved garlicTMB Studio

Rub the toasts with the halved garlic.

Step 6: Broil and serve

Topping the cheese over the toast and onion soup inside small cupsTMB Studio

To serve, ladle the soup into twelve 8-ounce broiler-safe bowls or ramekins. Place the bowls on baking sheets, and add two toasts to each bowl. Top with cheese, and broil 4 inches from the heat until the cheese is melted.

Editor’s Tip: If you don’t have broiler-safe bowls, don’t fret! The broiler isn’t the only way to melt cheese for French onion soup. You can melt the cheese directly on the toasts and use them as a cheesy garnish.

Classic French Onion Soup served with toast placed on a baking tray.TMB Studio

Recipe Variations

  • Change up the bread topping: Instead of baguette slices, cut the bread into croutons. Toast them in the oven, then scatter on top of the soup—with or without cheese.
  • Use the slow cooker: It’s not faster, but slow-cooked French onion soup is less labor-intensive. It removes the need to stir the onions as they cook!
  • Deepen the flavor: Add a splash of vinegar or Worcestershire to give the soup a little oomph. If it’s not sweet enough, add a pinch of sugar.
  • Add leftover meat: For a really hearty soup, incorporate leftover meat from a pot roast or chuck roast recipe.

Can you make French onion soup in advance?

You can make components of this soup ahead of time. Caramelize the onions ahead of time, and store them in an airtight container in the refrigerator for up to three days. Return them to the Dutch oven, and proceed with the recipe as directed. To prep the baguettes ahead, slice and toast them up to five days in advance. Store them in an airtight container on the counter. Refresh their crisp texture by popping them in a warm oven for a few minutes just before serving.

How to Store French Onion Soup

Store leftover French onion soup in an airtight container in the refrigerator for up to three days. Store the cheese and bread separately. Reheat the soup on the stovetop over medium heat until warmed through, then add the bread and cheese as directed.

Can you freeze French onion soup?

The French onion soup itself freezes well, but the cheese and bread topping won’t hold up in the freezer. Freeze the soup in freezer-safe containers for up to three months. Thaw overnight in the refrigerator, and reheat as directed.

French Onion Soup Tips

Classic French Onion Soup served in small plated with toastTMB Studio

What type of cheese goes on French onion soup?

Gruyere and Swiss cheese are classic choices for French onion soup. You can experiment with other types of cheese, like Manchego, provolone or fontina. You can also use a blend, like the Gruyere, mozzarella and Parmesan topping we use in three-cheese French onion soup.

How do you thicken homemade French onion soup?

French onion soup has a brothy consistency, but you have a few options if you prefer a thicker texture. You can add body to the soup with flour. Add it just after reducing the wine or sherry, and cook for a few minutes to remove the raw flavor. To adjust the soup’s consistency at the end, use a thickener like cornstarch or arrowroot.

What do you serve with French onion soup?

This flavor-packed, rich soup is a perfect starter course for a holiday meal or special occasion. To serve it for dinner, pair it with your favorite salad recipe or with a protein like grilled steak or chicken.

Is French onion soup vegetarian?

Our recipe includes beef broth, so it is not a vegetarian soup. Check out our vegan French onion soup, which uses a few unconventional ingredients to mimic the umami flavors found in beef broth.

Watch how to Make Classic French Onion Soup

Classic French Onion Soup

Enjoy my signature French onion soup the way my granddaughter Becky does: I make onion soup for her in a crock bowl, complete with garlic croutons and gobs of melted Swiss cheese on top. —Lou Sansevero, Ferron, Utah
Classic French Onion Soup Recipe photo by Taste of Home
Total Time

Prep: 20 min. Cook: 2 hours

Makes

12 servings (2-1/4 quarts)

Ingredients

  • 5 tablespoons olive oil, divided
  • 1 tablespoon butter
  • 8 cups thinly sliced onions (about 3 pounds)
  • 3 garlic cloves, minced
  • 1/2 cup port wine or dry sherry
  • 2 cartons (32 ounces each) beef broth
  • 1/2 teaspoon pepper
  • 1/4 teaspoon salt
  • 24 slices French bread baguette (1/2 inch thick)
  • 2 large garlic cloves, peeled and halved
  • 3/4 cup shredded Gruyere or Swiss cheese

Directions

  1. In a Dutch oven, heat 2 tablespoons oil and butter over medium heat. Add onions; cook and stir until softened, 10-13 minutes. Reduce heat to medium-low; cook, stirring occasionally, until deep golden brown, 30-40 minutes. Add minced garlic; cook 2 minutes longer.
  2. Stir in wine. Bring to a boil; cook until liquid is reduced by half. Add broth, pepper and salt; return to a boil. Reduce heat. Simmer, covered, stirring occasionally, for 1 hour.
  3. Meanwhile, preheat oven to 400°. Place baguette slices on a baking sheet; brush both sides with remaining 3 tablespoons oil. Bake until toasted, 3-5 minutes on each side. Rub toasts with halved garlic.
  4. To serve, ladle soup into twelve 8-oz. broiler-safe bowls or ramekins on baking sheets; place 2 toasts in each. Top with cheese. Broil 4 in. from heat until cheese is melted.

Nutrition Facts

3/4 cup soup with 2 pieces bread and 1 tablespoon cheese: 195 calories, 10g fat (3g saturated fat), 9mg cholesterol, 765mg sodium, 21g carbohydrate (4g sugars, 2g fiber), 6g protein.