French Onion Meatballs

French onion meatballs capture the flavor of the iconic soup in a new, fun-to-eat dish. Sweet and tender onions flavor the meatballs and the sauce, and a sprinkle of Gruyere makes this recipe extra special.

Spoon Lifting French Onion Meatballs from Pan With More Meatballs Resulting in a Cheesy Pull

Simply Recipes / Frank Tiu

French onion soup is hearty enough for a cold winter’s day but still light enough to enjoy any time of year. This recipe distills the essence of the iconic soup into a sauce for tender meatballs. 

But it’s not just the sauce that harkens to French onion soup—the meatballs themselves are packed full of sweet and savory onion flavor. You can serve French onion meatballs on their own for a crowd-pleasing party snack, but a healthy shower of Gruyere cheese and some crusty bread turns this dish into a meal. 

French Onion Meatballs in a Pan at a Table Setting With Toasted Baguette Slices on a Wooden Platter and a Spoon on the Counter, All on a White Table Cloth

Simply Recipes / Frank Tiu

The Key Ingredient: Onions

The humble onion does a magic trick as it cooks; initially sharp and strong, it develops into a silky, golden, sweet ingredient when patiently cooked over low heat. Low and slow-cooked onion adds complexity to so many dishes. 

For this recipe, we’re not quite caramelizing (which involves taking them to a deep brown color), but still developing tons of flavor, particularly with the additions of thyme, bay leaves, and wine. Half of the flavorful onions are added to the meatballs, while the other half are added to the sauce.

The Best Beef for French Onion Meatballs

To ensure your French onion sauce doesn’t become too heavy or oily, be sure to buy lean ground beef for these meatballs. You’re adding cheese and butter at various points in the recipe, so there won’t be a lack of richness (and deliciousness!). 

If you’re feeling adventurous, substitute the ground beef for ground lamb. Or try ground chicken for a lighter version of the dish—just be sure to use ground chicken that contains both white meat and dark meat to prevent the mixture from becoming dry. 

French Onion Meatballs in a Pan, and in Next to It, Toasted Baguette Slices in a Small Bowl

Simply Recipes / Frank Tiu

The Finishing Touches

If you’re aiming to emulate the French, the best cheese to use in this dish is a nutty Gruyere. It’s fairly widely available (try the specialty cheese or deli section of your supermarket), but if you can’t find a block to grate, a few thin slices are fine too—layer them over the meatballs and broil for a bit longer to melt. 

And what better bread to serve alongside this dish than the famed French baguette? Cut slices for a party or tear it casually for dinner. Give the bread a light toast for maximum crunchy contrast. My favorite trick is to rub the bread with a garlic clove while it’s still warm for instant garlic bread

How to Store and Reheat

Refrigerate the cooked meatballs with the French onion sauce for up to 5 days. Reheat gently on the stovetop or in the microwave.

The meatballs can also be frozen uncooked: freeze the shaped meatballs on a parchment-lined tray until solid, then transfer to a freezer container and store for up to 3 months. Thaw in the fridge before cooking and continuing on with the recipe.

French Onion Meatballs in a Pan, and in the Background, Toasted Baguette Slices on a Wooden Platter and a White Table Cloth Draped Onto It

Simply Recipes / Frank Tiu

Recipes Starring Slow-Cooked Onions

French Onion Meatballs

Prep Time 15 mins
Cook Time 70 mins
Total Time 85 mins
Servings 4 to 6 servings
Yield 16 meatballs


For the onions

  • 2 tablespoons olive oil

  • 4 medium yellow onions, thinly sliced (about 6 cups)

  • 3 cloves garlic, thinly sliced

  • 2 bay leaves

  • 1 1/2 teaspoons kosher salt

  • 1 teaspoon fresh thyme leaves

  • 1/2 teaspoon freshly ground black pepper

  • 1/3 cup dry white wine, such as sauvignon blanc

  • 2 tablespoons unsalted butter

For the meatballs

  • 1 pound 90% lean ground beef

  • 1 large egg, beaten

  • 1/3 cup panko breadcrumbs

  • 1 teaspoon kosher salt

  • 1/2 teaspoon freshly ground black pepper

  • 2 tablespoons olive oil

For the sauce and serving

  • 1 tablespoon all-purpose flour

  • 2 cups low-sodium chicken broth

  • 1 teaspoon Dijon mustard

  • 1 teaspoon Worcestershire sauce

  • 6 ounces freshly grated Gruyere cheese (about 1 cup)

  • Toasted baguette slices, for serving 


  1. Cook the onions:

    In a large skillet, heat the olive oil over medium heat. Add the onions, garlic, bay leaves, and salt and cook, stirring frequently, until the onions are deeply golden (but not quite caramelized) and reduced significantly in volume, about 45 minutes. You can add a splash or two of water to the pan if it starts to become dry (this tends to happen around the 30-minute mark). 

    Add the thyme and black pepper and cook until the herbs are fragrant, about 1 minute. Add the white wine and butter, scraping up the bottom of the pan to loosen any dark bits. Remove and discard the bay leaves and transfer the onions to a plate to let cool slightly. Rinse and wipe out the skillet and set aside.

    Sliced Onions, Garlic, and Bay Leaves in a Pan on a Portable Stove and Next to a Blue Kitchen Towel for French Onion Meatballs

    Simply Recipes / Frank Tiu

    Caramelized Onions in the Pan on the Portable Stove and Seasoned With Thyme and Cracked Pepper for French Onion Meatballs Recipe

    Simply Recipes / Frank Tiu

    Bowl of Caramelized Onions Next to a Light Blue Kitchen Towel for French Onion Meatballs Recipe

    Simply Recipes / Frank Tiu

  2. Make the meatball mixture:

    In a large bowl, combine the ground beef, egg, panko, salt, and pepper. Once the onions are cool enough to handle, roughly chop half the onions and add them to the meatball mixture. 

    Use your clean hands to mix everything together until combined.

    Bowl of Ground Beef on the Counter Next to a White Kitchen Towel for French Onion Meatballs Recipe

    Simply Recipes / Frank Tiu

    Minced Caramelized Onions on a Cutting Board Next to a Knife for French Onion Meatballs Recipe

    Simply Recipes / Frank Tiu

    Minced Onions Mixed With Ground Beef

    Simply Recipes / Frank Tiu

  3. Form the meatballs:

    Divide the mixture up into 16 roughly 1 1/2-inch balls. A foolproof way to do this is by forming the meat mixture into an even mound, dividing the mound into quarters, and dividing each quarter into quarters again.

    Meatball Mixture Divided Again to Get 16 Pieces for French Onion Meatballs

    Simply Recipes / Frank Tiu

    Meatball Mixture Formed into 16 Meatballs for French Onion Meatballs

    Simply Recipes / Frank Tiu

  4. Cook the meatballs:

    Heat 2 tablespoons of olive oil in the reserved skillet over medium-high heat. Add the meatballs, making sure to space them evenly, and cook until browned on all sides, 10 to 12 minutes. 

    Sprinkle flour over the meatballs and toss gently until the flour is cooked, about 1 minute. Add the chicken broth, remaining reserved onions, mustard, and Worcestershire. Stir well, and let simmer until the sauce has thickened and grown slightly darker in color, about 10 minutes.

    French Onion Meatballs Cooking in a Pan on a Portable Stovetop, and on the Counter Next to It, a Blue Kitchen Towel

    Simply Recipes / Frank Tiu

    Cooked Meatballs for French Onion Meatballs in a Pan on the Portable Stovetop, and on the Counter Next to It, a Blue Kitchen Towel

    Simply Recipes / Frank Tiu

    Caramelized Onions, Chicken Broth, and Worcestershire Sauce Mixed With Meatballs in Pan

    Simply Recipes / Frank Tiu

  5. Add the cheese and broil:

    Preheat the broiler on low. Sprinkle the Gruyere over the meatballs and sauce and broil until the cheese is melted, about 2 minutes. 

    Serve with toasted baguette slices. Leftover meatballs and sauce will keep for up to 5 days in the fridge.

    Love the recipe? Leave us stars below!

    French Onion Meatballs Topped With Shredded Gruyere Cheese on the Portable Burner

    Simply Recipes / Frank Tiu

Nutrition Facts (per serving)
572 Calories
33g Fat
31g Carbs
37g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 4 to 6
Amount per serving
Calories 572
% Daily Value*
Total Fat 33g 43%
Saturated Fat 13g 66%
Cholesterol 140mg 47%
Sodium 911mg 40%
Total Carbohydrate 31g 11%
Dietary Fiber 4g 13%
Total Sugars 11g
Protein 37g
Vitamin C 13mg 63%
Calcium 376mg 29%
Iron 4mg 21%
Potassium 839mg 18%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
Nutrition information is calculated using an ingredient database and should be considered an estimate. In cases where multiple ingredient alternatives are given, the first listed is calculated for nutrition. Garnishes and optional ingredients are not included.