in

Homemade French Onion Soup

Homemade French Onion Soup

Save this recipe on:

Homemade French Onion Soup is the kind of comfort food that instantly makes the whole kitchen feel warm and inviting. Deeply caramelized onions, rich beef broth, toasted bread, and melted cheese come together in a bowl that feels classic, cozy, and incredibly satisfying.

What makes this version so special is the balance of savory flavor and simple technique. The onions are cooked low and slow until sweet and golden, the broth gets layered with herbs and seasoning, and the cheesy bread on top turns every spoonful into something worth savoring.


Why Is Homemade French Onion Soup So Full of Flavor?

The secret is patience. French onion soup gets its signature depth from onions that are slowly caramelized until they become soft, golden, and richly sweet. That sweetness blends with broth, garlic, herbs, and a touch of Worcestershire sauce to create a deeply savory soup with real character.

Another part of the magic is the topping. Thick slices of toasted baguette soak up just enough broth while still holding their shape, and a bubbling layer of Gruyere or Swiss cheese gives the soup that irresistible finish everyone loves.


Pin this Recipe

Ingredients for Homemade French Onion Soup

This ingredient list keeps things classic while still being easy to pull together for a homemade dinner.

For the Soup

  • 4 large yellow onions, thinly sliced
  • 3 tablespoons unsalted butter
  • 1 tablespoon olive oil
  • 2 garlic cloves, minced
  • 6 cups beef broth
  • 1 cup water
  • 1 tablespoon Worcestershire sauce
  • 1 teaspoon fresh thyme leaves, or 1/2 teaspoon dried thyme
  • 1 bay leaf
  • 1/2 teaspoon salt, plus more to taste
  • 1/2 teaspoon black pepper
  • 1 tablespoon all-purpose flour, optional for a slightly richer body

For the Topping

  • 1 small baguette, sliced into thick rounds
  • 1 1/2 cups shredded Gruyere cheese
  • 1/2 cup shredded mozzarella or Swiss cheese
  • 2 tablespoons grated Parmesan cheese
  • 1 tablespoon olive oil for brushing bread
  • Chopped fresh parsley, optional for garnish
  • Crushed red pepper flakes, optional for serving

Ingredient Notes

Yellow onions are the best choice here because they caramelize beautifully and give the soup its signature sweetness. Gruyere brings the most traditional flavor, but Swiss or mozzarella can help stretch the topping while still giving you that gooey, bubbly finish.


How To Make the Homemade French Onion Soup

This soup is simple, but each step builds flavor. Take your time with the onions and the finished bowl will reward you.

Step 1: Slice the Onions

Peel the onions and slice them thinly into even half-moons. Uniform slices help them cook at the same rate and turn silky instead of unevenly browned.

Step 2: Start the Caramelization

In a large heavy pot or Dutch oven, melt the butter with the olive oil over medium heat. Add the sliced onions and stir well to coat. Cook for 10 minutes, stirring often, until they begin to soften.

Step 3: Cook the Onions Low and Slow

Reduce the heat to medium-low and continue cooking the onions for 30 to 40 minutes, stirring every few minutes. They should become deeply golden, soft, and sweet. If they begin to stick too much, add a splash of water and scrape the bottom of the pot.

Step 4: Add Garlic and Build the Base

Stir in the minced garlic and cook for 1 minute. If using flour, sprinkle it over the onions and stir for another minute to lightly coat everything and add a little body to the soup.

Step 5: Pour in the Broth

Add the beef broth, water, Worcestershire sauce, thyme, bay leaf, salt, and black pepper. Stir well, bring the soup to a gentle simmer, then reduce the heat and cook uncovered for 20 to 25 minutes.

Step 6: Toast the Bread

While the soup simmers, arrange the baguette slices on a baking sheet. Brush lightly with olive oil and toast at 400°F until golden and crisp, about 5 to 7 minutes.

Step 7: Assemble the Bowls

Remove the bay leaf from the soup. Ladle the hot soup into oven-safe bowls, top each bowl with toasted bread, and pile on the Gruyere, mozzarella or Swiss, and Parmesan.

Step 8: Broil Until Bubbly

Place the bowls on a baking sheet and broil for 2 to 4 minutes, just until the cheese is melted, bubbling, and lightly browned. Watch closely so the tops do not burn.

Step 9: Garnish and Serve

Finish with chopped parsley and a pinch of red pepper flakes if desired. Serve immediately while the cheese is hot and stretchy.


Serving and Storing Homemade French Onion Soup

Homemade French Onion Soup is best served piping hot right after broiling, when the cheese is bubbling and the bread still has some texture. Pair it with a green salad, roasted vegetables, or a simple sandwich if you want to turn it into a fuller meal.

For storing, keep the soup base separate from the bread and cheese topping. Refrigerate the soup in an airtight container for up to 4 days. Reheat it gently on the stove, then add fresh toasted bread and cheese before broiling. You can also freeze the soup base for up to 2 months, though the bread topping should always be made fresh for the best texture.


Frequently Asked Questions

Can I use a different kind of onion?

Yes. Yellow onions are the most reliable option, but sweet onions work well too. White onions can be used, though the flavor will be a little sharper.

Do I have to use Gruyere cheese?

No. Gruyere is traditional, but Swiss, provolone, or mozzarella are all good alternatives. A combination often gives the best melt and flavor.

Can I make Homemade French Onion Soup ahead of time?

Yes. The soup base can be made a day or two ahead and refrigerated. When ready to serve, reheat the soup, toast the bread, add the cheese, and broil just before serving.

How do I know when the onions are caramelized enough?

They should be very soft, golden brown, and smell sweet and rich. Rushing this step will leave the soup tasting flatter, so give the onions enough time.

Can I make this soup without oven-safe bowls?

Yes. You can toast the bread with cheese on a sheet pan under the broiler, then place the cheesy toast on top of each bowl of hot soup before serving.

What is the best bread for French onion soup?

A baguette is ideal because it holds up well in the broth while still giving you crisp edges. Thick slices work best.


Want More Cozy Dinner Ideas?

If you loved this Homemade French Onion Soup, here are a few more comforting favorites to explore next:


Save This Pin + Share Your Results

📌 Save this Homemade French Onion Soup to your Pinterest dinner board so you can come back to it any time.

And let me know how yours turned out. Did you go classic with Gruyere, or did you mix in another cheese? Did you serve it as a starter or make it the whole meal?

I always love hearing how these recipes make it to your table. You can also find more daily recipe inspiration on Life with Jam on Pinterest.


Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Homemade French Onion Soup

Homemade French Onion Soup


5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

  • Author: Jam Scott
  • Total Time: 1 hour 20 minutes
  • Yield: 6 servings

Description

Homemade French Onion Soup is the ultimate cozy comfort food with deeply caramelized onions, rich savory broth, toasted baguette, and gooey melted cheese on top. This easy recipe is perfect for dinner ideas, comfort food cravings, holiday starters, and food ideas that feel classic yet simple enough for a homemade meal. Whether you need an easy dinner, a warm cozy lunch, or a restaurant-style soup recipe to impress guests, this bowl delivers big flavor with simple ingredients.


Ingredients

4 large yellow onions, thinly sliced

3 tablespoons unsalted butter

1 tablespoon olive oil

2 garlic cloves, minced

6 cups beef broth

1 cup water

1 tablespoon Worcestershire sauce

1 teaspoon fresh thyme leaves

1 bay leaf

1/2 teaspoon salt

1/2 teaspoon black pepper

1 tablespoon all-purpose flour

1 small baguette, sliced into thick rounds

1 1/2 cups shredded Gruyere cheese

1/2 cup shredded mozzarella or Swiss cheese

2 tablespoons grated Parmesan cheese

1 tablespoon olive oil for brushing bread

1 tablespoon chopped fresh parsley

1/4 teaspoon crushed red pepper flakes


Instructions

1. Slice the onions thinly into even half-moons.

2. Melt the butter with 1 tablespoon olive oil in a large pot over medium heat, then add the onions and stir well.

3. Cook the onions for 10 minutes until softened, then reduce the heat to medium-low and continue cooking for 30 to 40 minutes, stirring often, until deeply golden and caramelized.

4. Stir in the garlic and cook for 1 minute.

5. Sprinkle in the flour and stir for 1 minute to coat the onions.

6. Add the beef broth, water, Worcestershire sauce, thyme, bay leaf, salt, and black pepper.

7. Bring to a gentle simmer and cook uncovered for 20 to 25 minutes.

8. While the soup simmers, brush the baguette slices with olive oil and toast at 400°F for 5 to 7 minutes until crisp and golden.

9. Remove the bay leaf from the soup and ladle the hot soup into oven-safe bowls.

10. Top each bowl with toasted baguette slices, Gruyere, mozzarella or Swiss, and Parmesan.

11. Broil for 2 to 4 minutes until the cheese is melted, bubbly, and lightly browned.

12. Garnish with parsley and crushed red pepper flakes, then serve immediately.

Notes

Use yellow onions for the best balance of sweetness and deep caramelized flavor.

Take your time with the onions because this step creates most of the soup’s rich flavor.

Keep the bread and cheese separate until serving if you plan to store leftovers.

  • Prep Time: 15 minutes
  • Cook Time: 1 hour 5 minutes
  • Category: Soup
  • Method: Stovetop and Broil
  • Cuisine: French-American

Nutrition

  • Serving Size: 1 bowl
  • Calories: 412
  • Sugar: 9g
  • Sodium: 1089mg
  • Fat: 22g
  • Saturated Fat: 11g
  • Unsaturated Fat: 9g
  • Trans Fat: 0g
  • Carbohydrates: 30g
  • Fiber: 3g
  • Protein: 21g
  • Cholesterol: 48mg

Save this recipe on: