French Onion Stuffed Meatballs

Stuffed with caramelized onions and mozzarella, these French onion meatballs are inspired by the classic onion soup recipe. I cover the homemade meatballs with more cheese and broil them until golden brown and bubbly. Yes, you can even make these French onion meatballs gluten-free!

Delicious Details
- Cuisine Inspiration: French
- Primary Cooking Method: Stovetop, Oven
- Dietary Info: Gluten-free option
- Skill Level: Moderate
Every winter, my dad would make grilled cheese and French onion soup. I eagerly awaited those crocks of soup, with those rich, caramelized onions, beefy broth, and heaps of melty cheese. Now that I’m cooking for my own family, I’ve found more ways to make those flavors into dinner, from French onion meatloaf and French onion burgers to today’s French onion meatballs.
My dad’s version of French onion soup, which inspired this easy meatball recipe, uses mozzarella instead of the traditional Gruyère cheese. So naturally, that’s what I stuffed into the meatballs! They’re drenched in a rich, beefy sauce and baked until the cheese inside becomes a pocket of melty deliciousness surrounding the caramelized onions.
Why These French Onion Meatballs Are My Favorite
- A classic, remade. These French onion meatballs are stuffed with cheese and onions and smothered in a simple, rich sauce made of beef stock and red wine. The flavors are just like French onion soup!
- Don’t forget the au gratin. The entire pan gets covered with more mozzarella and placed under the broiler to get that perfectly browned cap of toasty cheese.
- Easily made gluten-free. Yes, you can use gluten-free breadcrumbs or even slightly ground oats to bind the meatballs together.

Recipe Ingredients
Like French onion soup, this recipe packs a ton of flavor all while using humble, easy-to-come-by ingredients. Here is an overview of what you’ll need to make the French onion meatballs. The full amounts are in the recipe card further down in the post.
- Onions: I prefer to use a sweeter yellow onion, such as a Vidalia onion. You can use your favorite, but this may lead to a stronger flavor.
- Herbs: Fresh thyme leaves pair wonderfully with the onions, though you can use dried. And the recipe also includes fresh parsley for the meatball mixture.
- Beef Broth: You’ll use beef broth when caramelizing the onions as well as in the sauce that the meatballs will simmer in.
- Red Wine: Pinot Noir, or any red of choice. If you prefer to cook without alcohol, substitute wine with more beef broth.
- Cornstarch: To thicken the sauce.
- Ground Beef: Or your preferred ground meat. I aim for 80-90% lean ground beef when making these meatballs since it holds its shape and has a good amount of flavor.
- Bread Crumbs: For a gluten-free option, substitute gluten-free bread crumbs or leave them out altogether. Another quick hack is to use gluten-free oats that you’ve pulsed a few times in your blender.
- Cheese: I use mozzarella because this is how my dad always made French Onion Soup. Feel free to substitute the more traditional Gruyere or even Swiss or Cheddar!
- Egg: A binding agent to hold the meatballs in shape.
- Olive Oil: Or another neutral oil for sauteing and browning.


How to Make French Onion Meatballs
You’ll need a nice, large skillet that is safe to put in the oven and under the broiler. I’ve included alternatives in my tips below! Once you have this plus your ingredients at the ready, here’s how to make the most amazing French onion meatballs:
- Caramelize the onions. Begin by sautéing the onions in olive oil until they’re golden and caramelized. Add the thyme, wine, and beef broth, and reduce until very little liquid remains.
- Make the meatballs. Combine the raw meatball ingredients in a bowl. I use my hands to work everything together – but not too much, or the meatballs will turn out dense. Next, divide the mixture into even-sized balls.


- Stuff the meatballs. Now, flatten each of the meatballs and place a small amount of the onions and a cube of cheese in the middle. Wrap the meat around the filling and form it into a ball, sealing as best as you can. Repeat with the remaining meat, onions, and cheese cubes.


- Brown and then bake. Brown the meatballs in a skillet. Then, whisk together the sauce ingredients and pour this over the meatballs, and transfer the skillet to a preheated oven. Bake the meatballs at375ºF for 15-20 minutes. About halfway through, sprinkle the shredded cheese over the meatballs as they continue to cook.
- Broil. Once the meatballs are cooked through and the cheese is melted, switch on the broiler until the cheese is browned and bubbly.


Variation Ideas
- Make chicken or turkey stuffed meatballs: Trade out the ground beef for leaner meats like ground chicken or ground turkey (ground pork is also an option).
- Different cheeses: Instead of mozzarella, try stuffing your French onion meatballs with other cheese varieties like cheddar, ricotta, Monterey Jack, or even Gruyere cheese.
- Switch up the sauce: You can bake these meatballs in other savory sauces, like tomato sauce, vodka sauce, or a homemade marinara sauce.
- Add extras: In addition to caramelized onions and thyme, you can add other ingredients to the meatball filling, like mushroom duxelles (from my Beef Wellington recipe), as well as different herbs like fresh chopped basil and rosemary.

Tips for Perfect Meatballs
- Don’t rush. It’s important to caramelize the onions slowly, so that they develop the deep caramelized color and flavor without burning. Be sure to stir frequently and reduce the heat if necessary.
- Use the right wine. Most red wines will work well for this recipe. It doesn’t need to be an expensive bottle, but I would recommend using a wine you would drink (versus cooking wine).
- Use an oven-safe skillet (or an alternative). I like using my 10-inch cast iron skillet as it browns the meatballs nicely and it’s oven (and broiler) safe. If you do not have an oven-safe skillet, transfer the meatballs to a casserole dish before adding the sauce and baking them in the oven.
- Portion the meatballs with a cookie scoop. If you want to ensure your meatballs are evenly sized, this is a great option for portioning out the mixture.
Can I Make These in Advance?
One of the best parts about this recipe? If you have the time, you can make loads of these delicious onion and mozzarella stuffed meatballs. They’re the perfect recipe to prepare in advance, for later baking or freezing. You can even freeze the meatballs raw (just as long as you’re working with meat that was fresh and not frozen to begin with).

Storing and Reheating Leftovers
- Fridge. Store leftover meatballs in an airtight container in the fridge for up to 3-4 days.
- Freezer. These stuffed meatballs freeze really well! Place the cooked or uncooked meatballs in a single layer on a baking sheet to pre-freeze. Once they’re solid, transfer them to freezer bags to keep frozen for up to 3-4 months. Let the meatballs thaw in the fridge before browning and/or baking them in the sauce.
- Reheat. Gently reheat the meatballs in the oven or microwave, or even in a skillet on the stove. You may want to give them a fresh sprinkle of cheese once they’re warm to revive the topping a bit.

Make It a Meal
Savory, saucy French onion meatballs are wonderful to serve over egg noodles, rice, or even spaghetti squash alongside a fresh garden salad with creamy balsamic dressing. Here are some more serving suggestions:
- Make some mashers. Spoon your meatballs over a base of Instant Pot Mashed Potatoes, or pair these meatballs with cheesy scalloped potatoes or restaurant-worthy air fryer truffle fries.
- Veggies: Add a side of air fryer Brussels sprouts, balsamic roasted vegetables, or creamed spinach.
- Bread: Bake a loaf of gluten-free French bread to slice and scoop up that decadent sauce!

French Onion Meatballs
Ingredients
For the onions
- 1 Tablespoon olive oil
- 2 large onions, halved and thinly sliced
- 1/2 Tablespoon fresh thyme or 1/2 teaspoon dried thyme
- 1 teaspoon salt
- 1/2 teaspoon pepper
- 1/4 cup beef broth
- 1/4 cup red wine (I used Pinot Noir, but your favorite red wine will work, or substitute with additional beef broth)
For the meatballs:
- 1 1/2 lbs ground beef
- 1/4 cup bread crumbs or ground oats, gluten free, if needed
- 1 Tablespoon minced fresh parsley
- 3/4 teaspoon pepper
- 1 teaspoon kosher salt
- 1 large egg
- 8 oz. mozzarella cheese, cut about 1-2 oz. into sixteen approximately half-inch cubes to stuff the meatballs, then shred the rest
- 1/2 Tablespoon olive oil
- Fresh chopped parsley for garnish, optional
For the sauce:
- 1 3/4 cup beef broth
- 1/4 cup red wine (I used Pinot Noir, but your favorite red wine will work, or substitute with additional beef broth)
- 2 Tablespoons cornstarch
- salt & pepper to taste
Instructions
For the onions:
- Heat oil in a skillet over medium, add onions, salt & pepper, cook 15-20 minutes, stirring frequently or until caramelized.
- Add thyme, sauté for minute or two, then add the wine and beef broth.
- Reduce until very little liquid remains.
- Set aside.
For the meatballs:
- Combine all ingredients except the cheese in a large bowl, and gently combine with your hands.
- Divide the meat mixture into sixteen equal pieces.
- Take one piece of the meat mixture and flatten slightly into a patty. Place about a half tablespoon of the onions and one cube of cheese in the center of the patty and wrap the meatball around the onions and cheese, sealing as best you can. Repeat with the remaining meat, onions, and cheese cubes.
- Preheat your oven to 375°F.
- Heat the oil in a skillet over medium high heat. Add the meatballs and brown on all sides.
- Whisk together the sauce ingredients and pour over the meatballs. Place in the oven and bake for 15-20 minutes. If you are not using an oven-safe skillet, transfer to a casserole dish before pouring over the sauce.
- Sprinkle the shredded cheese over the meatballs and return to the oven for another 15-20 minutes, or until cooked through, then place under the broiler for 2-3 minutes, or until the cheese is browned and bubbly.
- Garnish with fresh parsley, if desired.





This recipe reminds me of my favorite happy hour menu at a local restaurant near me…Theirs is called French Onion Soup Dumplings. They serve the little dumplings (aka meatballs) in an escargot dish and they are fabulous! Yours is even an improvement over theirs. I like it over mashed potatoes, but I bet it is just as good over rice or noodles! You hit a home run with this recipe! Well done!
Oh my gosh, thank you so much!
Can I substitute ground beef with ground chicken and chicken broth? Can’t wait to try this recipe!!!
I haven’t tried it that way. I think it would work, but since chicken and chicken broth have a bit more neutral flavor, it might not have as rich and deep a flavor. If you try it, let me know.
Made these last night. WOW! Vivid flavors, lots of umami. I happened to have some sweet onions to use for this, although they take longer to caramelize – probably more like 35 minutes. Actually I forgot to put the onions IN the meatballs, so I put the onions on the bottom of a casserole dish, meatballs, sauce, then the cheese. Perfection. It will definitely make another appearance on my dinner table.
I’m so happy you enjoyed this dish!
Wow. Just WOW! Lots of work involved, but SO worth it and flavorful. Thank you for the amazing recipe!
Definitely a special meal for when you have the time, but I’m so happy al the work paid off!
even more ‘manly man’ with venison, lol. I enjoy your writing!! 🙂
try it.
I guarantee it will taste good. man, elk is good! what was bad about that?? (except it was too much like bambi for a teenage girl? IDK. 🙂 …..I NEVER think of bambi when I’m eating venison, or rudolph! LoL . We’ve romanticized deer too much!
one thing I do with venison meatloaf and probably balls, too is to drench it in 1 cup of milk and use 1 cup of crackers, oatmeal or bread crumbs. Seriously, you CANNOT tell it is venison. It is leaner, healthier and delicious with bbq sauce.
(And my venison is free, so ……that makes it taste better, too) . 🙂
Thanks again, Love your page
Thanks for the tips! I have never had venison, but I know many people do enjoy it.