This post may contain affiliate links. Read my disclosure policy.
Stuffed with caramelized onions and mozzarella, these French Onion Meatballs are a hearty meal inspired by the classic au gratin soup recipe. Homemade meatballs are covered with more cheese and broiled until golden brown and bubbly, for a comfort food dinner the entire family will enjoy!
Table of Contents
French Onion Mozzarella-Stuffed Meatballs
As a kid of divorced parents, there were a handful of meals that my dad would make whenever I visited. They were always a little indulgent and catered to my childhood favorites: hot dogs and campfire potatoes around the fire pit in the summer, and in the winter, grilled cheese and French onion soup au gratin.
I eagerly awaited those crocks of soup so that I could scoop up a perfect bite of savory, cheesy deliciousness. Fast forward, and this meatball recipe translates that childhood delight into meatball form!
This time around, mozzarella stuffed meatballs are browned and simmered in a rich sauce loaded with caramelized onions, filled with familiar flavors. The result is hearty comfort food that satisfies even the biggest appetites (trust me, I live with three of them!).
Why is it Called a French Onion?
French Onion Soup is a classic soup recipe that originates in France, made with caramelized onions simmered in beef broth, topped with toast, and melted (often Gruyere) cheese. My dad’s version uses mozzarella, which inspired this meatball recipe!
While most mozzarella stuffed meatballs are simmered in tomato sauce, these are smothered in a simple, rich sauce made of beef stock and red wine reminiscent of French onion soup. The meatballs are then baked until the cheese inside becomes a pocket of melty deliciousness.
Of course, you can’t forget the au gratin. The entire pan gets covered in more mozzarella and placed under the broiler to get that perfectly browned cap of toasty cheese.
What You’ll Need
I love these homemade meatballs because they’re effortlessly delicious. Like French onion soup, this recipe packs a ton of flavor all while using humble, easy-to-come-by ingredients. Here they are:
- 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 or dried thyme pairs wonderfully with the onions, plus 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.
- Ground Beef: Or your preferred ground meat. I aim for 80-90% lean, regular 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.
- Cornstarch: To thicken the sauce.
- Salt & Pepper
How to Make French Onion Stuffed Meatballs
A note before getting started: 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! Other than that, everything you’ll need is pretty basic, such as measuring cups and spoons and a bowl.
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 sauteing 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 really work everything together! Next, divide the mixture into even-sized balls.
Stuff the Meatballs: 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 & Bake: Brown the meatballs in a skillet. Whisk together the sauce ingredients and pour this over the meatballs, then transfer the skillet to a preheated oven to bake. About half way through, sprinkle the shredded cheese over top of 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.
- 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).
- Stuff Them With 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 Red Gravy.
- Add In Extras: In addition to caramelized onions and thyme, you can add other ingredients to the meatball filling like mushroom duxelles, as well as different herbs like fresh chopped basil and rosemary.
Tips for Success
- 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 Oven-Safe Equipment (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.
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). See my tips below for how to store and freeze them!
Make it a Meal
Savory, saucy French onion meatballs are wonderful to serve over egg noodles, rice, mashed potatoes, or even spaghetti squash for a low-carb option. They also pair perfectly with these easy side dishes:
- Parmesan Balsamic Caramelized Onion Mashed Potatoes
- Horseradish Cheddar Mashed Cheesy Cauliflower Gratin
- Roasted Balsamic Mushrooms with Garlic and Rosemary
- A fresh garden salad with Creamy Balsamic Salad Dressing
- Light Creamed Spinach au Gratin
- Balsamic Roasted Vegetables
Storing and Reheating Leftovers
Store leftover meatballs airtight in the fridge for up to 3-4 days. 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 with cheese once they’re warm to revive the topping a bit.
Do Stuffed Meatballs Freeze Well?
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.
More Homemade Meatballs to Try
- Barbecue Baked Turkey Meatballs
- Grandma’s Polish Porcupine Meatballs
- General Tso’s Chicken Meatballs
- Pineapple Teriyaki Turkey Meatballs
French Onion Meatballs
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 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 aditional beef broth)
- 2 Tablespoons cornstarch
- salt & pepper to taste
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.