French Onion Soup is one of my favorite things to order at a restaurant. I usually reserve this bowl of warm comfort for restaurants because it’s a soup that takes time and patience to make. But I’ve come to realize that although it is a slow process, it’s still ridiculously simple and inexpensive, so it’s totally worth the effort. I encourage you to make a pot of this incredible French Onion Soup on your next day off while you’re relaxing with a movie or folding some laundry. I think you’ll be glad you did!

One bowl of french onion soup garnished with fresh thyme, spoon on the side

What is French Onion Soup?

If you’ve never had the pleasure, French Onion Soup is made with sweet caramelized onions, beef broth, and herbs. The soup is usually topped with a piece of toasted bread and a generous heap of cheese, which are then broiled to perfection. So with every spoonful you get a piece of bread soaked with flavorful broth, melty cheese, and sweet-savory onions. It’s pretty epic.

Don’t Take Shortcuts with Caramelization

It’s so so so so important to properly caramelize the onions when making French Onion Soup (see the step by step photos below for a visual reference). The deep flavor of the caramelized onion is what gives this soup its characteristic flavor. If you take shortcuts with this step it will show in the color and flavor of your soup.

Caramelizing onions, especially this quantity of onions, is a slow process and it takes a lot of time. Like an hour or more. If you stop too soon your soup will be lacking. If you try to go too fast you risk burning the onions not getting that sweet jammy flavor. Just go slow. It’s worth it.

Broth Matters

The other key to making a really good pot of French Onion Soup is using a really flavorful broth. If you know me then you know I love Better Than Bouillon so I used that to make my broth for this soup. But if you have access to a really good beef stock or bone broth that would also be incredible. Just make sure you use a broth that you know has good flavor.

What Else Can I Add?

I made this French Onion Soup as simple as possible while still retaining its rich flavor. But if you want to go above and beyond you can try adding a couple other ingredients.

Wine – Try deglazing the pot (after adding the flour) with about 1/2 cup wine before adding the beef broth. You can use either a dry white wine or a red wine, depending on whether you want your soup to have a lighter touch (white wine) or a richer flavor (red wine).

Sweet Onions – I made my soup with your average everyday yellow onions, but if you want a tad more sweetness you can choose a sweet onion instead.

Brandy or Sherry – A couple tablespoons of brandy or sherry added to your French Onion Soup at the end can brighten the flavors.

Garlic – I didn’t want to muddy the sweet delicate flavor of the onions, but a lot of people do prefer to also add garlic. If adding garlic, mince it up good and sauté it with the caramelized onions for a minute or two just before adding the flour.

Side view of a bowl of French Onion Soup garnished with fresh thyme
Garnished with fresh thyme for visual appeal. Dried thyme is used in the recipe.

French Onion Soup

French Onion Soup requires time and patience, but the incredible soul-warming flavor and low cost make it a meal that is worth the wait!

Total Cost: $5.34 recipe / $1.07 serving

Author: Beth – Budget Bytes

Servings: 5 1.5 cups ech

  • 2 Tbsp olive oil ($0.32)
  • 3 lbs. yellow onions ($1.19)
  • 2 Tbsp butter ($0.28)
  • 3 Tbsp flour ($0.03)
  • 6 cups beef broth* ($0.78)
  • 1/2 tsp dried thyme ($0.05)
  • 1 bay leaf ($0.15)
  • 1/4 tsp freshly cracked black pepper ($0.02)
  • 1 Tbsp Worcestershire sauce ($0.02)
  • 5 slices French bread ($1.00)
  • 1 cup shredded Swiss or Gruyere ($1.00)
  • Slice the onions into ¼-inch thick slices. Add the sliced onions to a large soup pot with olive oil. Cook the onions over medium heat, stirring occasionally. When the onions begin to get a little bit of golden brown color (after about 30-45 minutes), add the butter.

  • Continue to cook over medium heat, stirring occasionally until the onions are deeply caramelized (the color of an old penny). This should take about an hour total. If needed, add a couple tablespoons of water to dissolve any browned bits off the bottom to prevent them from burning while the onions continue to cook.

  • Once the onions are deep brown and jammy in texture, add the flour. Stir and cook the flour with the caramelized onions for about two minutes more. The flour helps thicken the broth slightly, giving it body.

  • Add the beef broth to the pot and stir to dissolve any browned bits off the bottom of the pot. Also add the thyme, bay leaf, pepper, and Worcestershire sauce. Bring the soup up to a simmer, then allow it to simmer for about a half hour. If using a low sodium broth, make sure to taste the soup after simmering and add salt to taste.

  • Toward the end of the simmer time, preheat the oven’s broiler. Place the bread slices on a baking sheet and place them in the oven on the middle rack. Broil for a few minutes on each side, or just until they are barely golden brown (they will broil more later).

  • If you do not have oven safe bowls, top each slice of bread with shredded cheese, then return them to the oven and continue to broil until the cheese is melted and bubbly. Broiling time will vary with each oven, so make sure to watch them closely. This should only take a few minutes. Place one piece of toasted bread with melted cheese on top of each bowl of soup just before serving.

  • If you do have oven safe bowls, portion your soup into the bowls, top each one with a piece of lightly toasted bread, then some of the shredded cheese. Place the bowls back on the baking sheet and place everything back in the oven under the broiler. Broil for just a few minutes or until the cheese is melted and bubbly. Serve hot!

*I used Better Than Bouillon to make my beef broth.

See how we calculate recipe costs here.


Serving: 1bowlCalories: 621.84kcalCarbohydrates: 91.04gProtein: 22.28gFat: 19.62gSodium: 2670.74mgFiber: 7.44g

Nutritional values are estimates only. See our full nutrition disclosure here.


The equipment section above contains affiliate links to products we use and love. As an Amazon Associate I earn from qualifying purchases.

Love cozy soups? Check out all of our Budget-Friendly Soup Recipes!

A pot of French Onion Soup with a ladle full held close to the camera

How to Make French Onion Soup – Step by Step Photos

Sliced onions in a soup pot

Begin by slicing 3 lbs. yellow onions into ¼-inch thick slices. Add the sliced onions to a large soup pot with 2 Tbsp olive oil. Cook the onions over medium heat, stirring occasionally.

Add butter to golden onions in the soup pot

When the onions begin to get a little golden color (after about 30-45 minutes) add 2 Tbsp butter. Continue to cook over medium heat, stirring occasionally.

Pot being deglazed with water

The goal is to keep cooking until the onions become deep brown in color and have a jammy texture. If the bottom of the pot begins to brown faster than the onions, just add a couple tablespoons of water to dissolve the browned bits off the bottom and continue to cook. Do not stop when the onions are the color in the photo above. There is still a ways to go!

Caramelized onions in the pot, flour being added

When the onions are the color of an old penny (see photo above), add 3 Tbsp flour and continue to cook and stir for about two minutes. The flour helps thicken the soup very slightly, just giving it a little extra body.

Beef broth being added to the pot

Finally, add six cups of beef broth to the pot. Stir to dissolve any browned bits off the bottom.

Herbs added to the soup

Also add ½ tsp dried thyme, one bay leaf, ¼ tsp freshly cracked pepper, and 1 Tbsp Worcestershire sauce. Bring the soup up to a simmer and let it continue to simmer for about 30 minutes. If you’re using a lower sodium broth, you’ll want to taste the soup and add salt to taste after it simmers.

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *