French Onion Soup with Homemade Beef Stock


While making beef stock from scratch is time-consuming, it really makes the best beef broth for French onion soup! Of course, you can always buy beef stock, too (if you are in a hurry)! This serves four as a main course with crunchy French bread and a simple side salad (try mixing tender butter lettuce, sweet green and red leaf lettuce, some crunchy iceberg, confetti light green cabbage, and grated carrot with candied pecans and a light balsamic or Italian dressing).

Prep Time:
20 mins
Cook Time:
6 hrs
Total Time:
6 hrs 20 mins


  • 12 cups water

  • 1 pound beef short ribs

  • 3 parsnips, peeled and cubed

  • 3 onions, coarsely chopped

  • 2 carrots, peeled and coarsely chopped

  • 2 stalks celery with leaves, coarsely chopped

  • 2 bay leaves

  • 1 teaspoon salt

  • 1 teaspoon freshly ground black pepper

  • 1 tablespoon fresh thyme

  • ¼ cup butter

  • 4 large onions, thinly sliced

  • 3 cloves garlic, smashed

  • ¼ cup flour, or more as needed

  • 1 teaspoon herbes de Provence

  • 1 teaspoon paprika

  • 1 teaspoon garlic powder

  • 1 teaspoon chopped fresh parsley, or to taste

  • 1 teaspoon chopped fresh thyme, or to taste

  • ¼ cup dry white wine

  • 2 tablespoons dry sherry

  • 1 dash hot pepper sauce (such as Tabasco®), or to taste

  • 4 thick slices French bread

  • basil and garlic-flavored olive oil for brushing

  • 2 cups grated Gruyere cheese


  1. Place water, beef ribs, parsnips, onions, carrots, celery, bay leaves, 1 teaspoon salt, 1 teaspoon black pepper, and 1 tablespoon fresh thyme into a large soup pot over medium heat; bring to a boil. Reduce heat to a simmer and cook, skimming and discarding foam that forms on top of broth, until broth is a rich brown color, 5 to 6 hours. (Broth may also be made in a slow cooker.) Strain broth, discard ribs and vegetables, and refrigerate extra broth.

  2. Melt butter in a large heavy skillet or cast iron pan over medium-low heat. Cook onions and garlic until caramelized and brown, about 30 minutes.

  3. Mix flour, herbes de Provence, paprika, and garlic powder together in a bowl; sprinkle over browned onions. Cook and stir 5 minutes; season with salt and black pepper. Stir in parsley and 1 teaspoon thyme.

  4. Pour in 4 cups beef broth, white wine, sherry, and hot pepper sauce; simmer until flavors have blended and soup has thickened, about 15 minutes. (More time doesn't hurt.)

  5. Preheat the oven broiler about 15 minutes before serving time. Place a rack about 6 inches from the heat source.

  6. Brush slices of French bread with flavored olive oil. Toast under the preheated broiler until well-browned on each side, 1 to 2 minutes per side. Ladle soup into oven-proof soup bowls; place a toasted bread slice on top of each bowl. Sprinkle each bread slice evenly with Gruyère cheese.

  7. Place the filled soup bowls under the broiler until cheese is melted, bubbly, and browned, 2 to 4 minutes.

Editor's Note

The nutrition data for this recipe includes the full amount of the beef stock ingredients. The actual amount of the stock ingredients consumed will vary.

Cook's Note

On December 26, my dear Mom passed away. She was an amazing cook who didn't let the ravages of Parkinson's and rheumatoid arthritis stop her from creating the most amazing and tasty dishes! My father recently came across a small but thick notebook packed full of my Mom's original recipes — all handwritten — and this is one of them. It rocked then (I remember), and I hope you will enjoy it now (although making the beef stock is time-consuming). And of course, store-bought does work, lol.

Nutrition Facts (per serving)

865 Calories
41g Fat
83g Carbs
42g Protein
Nutrition Facts
Servings Per Recipe 4
Calories 865
% Daily Value *
Total Fat 41g 52%
Saturated Fat 22g 110%
Cholesterol 136mg 45%
Sodium 1320mg 57%
Total Carbohydrate 83g 30%
Dietary Fiber 14g 48%
Total Sugars 22g
Protein 42g
Vitamin C 48mg 239%
Calcium 739mg 57%
Iron 6mg 36%
Potassium 1351mg 29%

* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

** Nutrient information is not available for all ingredients. Amount is based on available nutrient data.

(-) Information is not currently available for this nutrient. If you are following a medically restrictive diet, please consult your doctor or registered dietitian before preparing this recipe for personal consumption.

You’ll Also Love