This post may contain affiliate links. Please read our disclosure policy.
All the rich, cozy flavors of classic French onion soup meet tender, juicy French onion meatballs in this crowd-pleasing dinner! Think deeply caramelized onions, savory beef gravy, and melted Gruyère — baked, broiled, and downright irresistible.
These meatballs cook up juicy and tender, with classic French Onion flavor. The richness of Gruyère meets the sweetness of onions and the savory depth of beef for a perfectly rounded bite. Familiar, comforting, and special enough for company — it’s cozy comfort food with a touch of French flair.
If you love cozy, saucy comfort food, try my Crockpot Mississippi Meatballs or Italian Baked Meatballs next — both are family favorites! Or, switch things up with my Beef Stroganoff or Boneless Short Ribs for another deeply flavorful, hearty dinner everyone will love.
💛 If French onion soup and juicy meatballs had a comfort food baby, this would be it — cozy, golden, and absolutely bursting with flavor.
Before You Begin
✨ Caramelize patiently: The onions are the heart of this recipe. Cook them low and slow until they’re deep golden brown — that’s where all the rich flavor comes from.
✨ Deglaze for depth: A splash of dry sherry or white wine pulls up all those flavorful browned bits and builds a restaurant-quality sauce.
✨ Mix gently: Combine the meatball mixture with a light touch — overmixing makes them dense instead of tender.
✨ Broil for the finish: That golden, bubbling Gruyère topping gives this dish its irresistible “French onion soup” vibe.
✨ Serve smart: These meatballs are incredible over mashed potatoes, buttered noodles, or crusty bread — anything that soaks up the sauce!
Ingredients for French Onion Meatballs
This is just a quick glance at what you’ll need. For exact measurements and the full ingredient list, head down to the recipe card below.
For the Sauce
- Butter + olive oil — the perfect combo for caramelizing without burning.
- Yellow onions — slice them evenly so they cook down into jammy sweetness.
- Dry sherry — adds rich, complex flavor when deglazing.
- All-purpose flour — thickens the sauce into a luscious gravy.
- Worcestershire sauce — gives umami depth that complements the onions.
- Beef stock — the base for your French onion–inspired sauce.
- Thyme — the classic French herb that ties everything together.
- Gruyère cheese — melts beautifully with nutty flavor for that French onion finish.
For the Meatballs
- Milk and bread — combine to form a panade that keeps meatballs soft and juicy.
- Ground beef (or half beef, half pork) — for richness and tenderness.
- Pecorino Romano — adds savory depth.
- Garlic, thyme, salt, + pepper — simple, balanced seasoning that complements the sauce.
- Caramelized onions — a little goes inside the meatballs for double the flavor.
Pro Tips
⭐ Parmesan Rind Magic: Add a Parmesan rind to the sauce while simmering for 20 minutes, then remove before serving. It infuses the sauce with nutty depth.
⭐ Flavor Boost: The splash of vinegar or Dijon mustard at the end cuts through the richness perfectly.
⭐ Serving Idea: These are fantastic over creamy mashed potatoes, buttered noodles, or toasted baguette rounds — just like a deconstructed bowl of French onion soup.
How To Make French Onion Meatballs
Storing + Reheating + Freezing + Make-Ahead Tips
Storing
- Refrigerate leftovers in an airtight container for up to 3 days.
Reheating
- Reheat gently on the stovetop over medium-low heat or in a 350°F oven for 15–20 minutes (covered with foil).
Freezing
- Freeze cooked meatballs and sauce (without cheese topping) for up to 2 months. Thaw overnight in the fridge before reheating and broiling with cheese.
Make-Ahead
- The onions and meatballs can both be made a day in advance — just assemble and broil before serving for that fresh-from-the-oven flavor.
Food Safety:
- If you’d like more info on food safety, check out this link.
What to Serve With
- Fresh + Crisp Sides: Balance the richness with Arugula Salad with Manchego and Apples, Strawberry Salad, or House Salad with Champagne Vinaigrette.
- Cozy Breads: Soak up that luscious sauce with Practically No Knead Bread, Quick Dinner Rolls, or Cheddar Biscuits.
- Sweet Finishes: End your meal with something comforting and classic — Strawberry White Chocolate Tart, Possum Pie, or Apple Bundt Cake are all perfect choices.
🍽️ More Meatballs You’ll Love
If you love these French Onion Meatballs, here are more crave-worthy meatball recipes to try next!
- Chicken Parm Meatballs: All the flavors of chicken parm in a bite-sized, cheesy twist everyone loves.
- Sweet and Sour Meatballs: Tender meatballs coated in a glossy, tangy sauce that’s pure crowd-pleaser material.
- Greek Turkey Meatballs: Bright, herby, and perfectly seasoned — a lighter spin packed with Mediterranean flavor.
- Instant Pot Spaghetti and Meatballs: Classic comfort made easy — tender meatballs and saucy pasta cooked all in one pot!
- Meatballs and Gravy – homemade meatballs tucked into a rich brown gravy
Tried This Recipe?
💗 If you enjoyed these French Onion Meatballs, please take a moment to leave a ⭐⭐⭐⭐⭐ star rating and a quick comment — I love hearing from you! Tag me on Instagram @gonna_want_seconds so I can see your cozy kitchen creations!
💌 Want more comfort food inspiration? Join my FREE newsletter and get delicious new recipes sent straight to your inbox.
Thanks for stopping by my kitchen today — happy cooking, friends! ❤️ Kathleen
French Onion Meatballs
Ingredients
For the Sauce
- 3 tablespoons butter
- 2 tablespoons olive oil
- 6 cups sliced yellow onions, about 3 large
- 3/4 teaspoon fine salt, add mid-way through caramelizing
- 1/4 cup dry sherry Marsala, or dry white wine (for deglazing — optional but highly recommended)
- 3 tablespoons all-purpose flour
- 2 tablespoons tomato paste
- 1 tablespoon Worcestershire sauce
- 2 cups beef stock, plus more as needed
- 1 teaspoon Better Than Bouillon beef base
- 4 sprigs fresh thyme or 2 teaspoons dried thyme
- 1/2 teaspoon sherry vinegar or red wine vinegar to finish
- 1 tablespoon black pepper or to taste
- 1 cup shredded Gruyère cheese or half Gruyère, half mozzarella for creamier melt
For the Meatballs
- 1/2 cup milk
- 1 large egg
- 1/4 cup grated Pecorino Romano
- 3/4 teaspoon fine salt
- 1/2 teaspoon black pepper
- 1/2 tablespoon dried thyme
- 1 tablespoon chopped fresh parsley
- 1 tablespoon fresh minced garlic
- 2 slices white bread, crusts removed and torn into small pieces
- 1 pound ground beef, or ½ pound beef + ½ pound ground pork for extra tenderness
- 1/2 cup diced caramelized onions, reserved from sauce
Instructions
Caramelize the Onions
- In a heavy-bottomed pot or Dutch oven, melt the butter and olive oil over medium heat. Add all the sliced onions, stir to coat, and cover. Cook for 30 minutes, stirring occasionally.
- Remove the lid, reduce heat to low, and add 1/2 teaspoon fine salt. Continue cooking 30–45 minutes, stirring every 10 minutes until the onions are deep golden brown and jammy.
- Deglaze the pan with ¼ cup dry sherry (or white wine), scraping up any browned bits. Simmer until almost evaporated.
- Reserve ½ cup of the onions for the meatballs.
- Sprinkle the remaining onions with flour and tomato paste, stirring constantly for 3–4 minutes until lightly browned and fragrant.
- Stir in Worcestershire sauce, beef stock, Better Than Bouillon (if using), thyme, and black pepper.
- Simmer uncovered for 25–30 minutes to develop flavor and thicken slightly. Remove thyme stems.
- Stir in vinegar at the end to brighten the flavor. Keep warm on low heat.
Make the Meatballs
- Preheat oven to 400°F (204ºC).
- In a large mixing bowl, combine milk, egg, Pecorino, salt, pepper, parsley, garlic, and bread. Mash into a soft paste (panade) and let rest for 5 minutes to fully absorb.
- Add ground beef (and pork, if using) along with the ½ cup chopped caramelized onions.
- Using your hands, gently mix just until combined — do not overwork the meat.
- Form into 2-ounce meatballs (about golf-ball size) and arrange on a parchment-lined baking sheet.
- Bake for 20 minutes, or until cooked through (internal temperature 160°F).
Assemble
- Transfer the baked meatballs into the warm onion sauce.
- Simmer gently for 10 minutes to let the flavors meld.
- Spoon meatballs and sauce into an oven-safe skillet or baking dish.
- Top generously with Gruyère (or Gruyère-mozzarella blend).
- Broil for 2–3 minutes, just until bubbly and golden brown.
- Garnish with chopped parsley or green onions before serving.
Fans Also Made:
Notes
- Parmesan Rind Magic: Add a Parmesan rind to the sauce while simmering for 20 minutes, then remove before serving. It infuses the sauce with nutty depth.
- Flavor Boost: The splash of vinegar or Dijon mustard at the end cuts through the richness perfectly.
- Serving Idea: These are fantastic over creamy mashed potatoes, buttered noodles, or toasted baguette rounds — just like a deconstructed bowl of French onion soup.














Leave a Reply