This French Onion Meatball Skillet takes everything you love about French onion soup and turns it into a hearty, shareable main course. Juicy, cheese-filled turkey (or chicken) meatballs nestle in a rich, caramelized onion gravy and are finished with melted Gruyère for an irresistible family-style skillet. Serve with crusty bread, egg noodles, or creamy mashed potatoes.

French onion soup has long been a favorite starter. The deep, savory broth and indulgent melted cheese are hard to beat—and this skillet captures all of that flavor in a more substantial, hands-on dish.
This recipe combines tender, golden-baked meatballs with slowly caramelized onions and a savory beef-based sauce. It’s an easy way to turn a beloved soup into a complete entrée that’s perfect for weeknight dinners, weekend gatherings, or meal-prep that impresses.
If you love caramelized onions, gooey cheese, and savory meatballs, this skillet will quickly become a go-to. The layered flavors of the onions and sherry (or white wine) give the sauce depth, while Gruyère melts beautifully over the meatballs to create that classic French onion finish.
Table of Contents
- How to Make French Onion Meatballs
- More Delicious Recipes,
- French Onion Meatball Skillet Recipe

How to Make French Onion Meatballs
1. Prepare and cook the meatballs
Preheat the oven to 400°F and line a large baking sheet with parchment paper. Because this recipe uses 2 pounds of ground meat, you may need two baking sheets or to bake in batches. To make fewer meatballs, halve the ingredients.
In a large bowl, combine the ground chicken (or turkey), minced onion, shredded Gruyère and mozzarella, bread crumbs, minced garlic, beaten eggs, fresh thyme, kosher salt, and black pepper. Mix gently until just combined—overworking the mixture can make the meatballs dense.
Form the mixture into roughly 32 uniform meatballs and arrange them on the prepared sheet. Bake until golden and cooked through, about 20 minutes, or until the internal temperature reaches 160°F. Remove from the oven and set aside.
Tip: Thawed frozen meatballs can be used in a pinch. Choose plain-flavored meatballs so they complement the sauce without clashing with strong seasonings.

2. Prepare the French onion soup sauce
While the meatballs bake, make the onion sauce. Heat olive oil in a large skillet or Dutch oven over medium heat and add thinly sliced yellow onions. Cook, stirring occasionally, for 5–10 minutes to soften.
Add kosher salt and butter, then continue cooking over medium to medium-low heat, stirring as needed, until the onions are very soft and a deep golden brown—this can take 30–45 minutes for the best flavor.

Stir in the garlic and cook for one minute. Pour in dry sherry or dry white wine and scrape any browned bits from the pan. Let the alcohol reduce by about half, then add low-sodium beef broth, fresh thyme, and a bit more salt and pepper. Simmer until the sauce reduces slightly and thickens, about 5 minutes.

3. Assembly and how to serve
Gently nestle the baked meatballs into the onion sauce. Sprinkle shredded Gruyère over the top, cover the skillet, and cook over low heat until the meatballs are warmed through and the cheese is melted, about 5–10 minutes. For a golden, bubbly finish, place an oven-safe skillet under the broiler for 1–2 minutes—watch closely so the cheese doesn’t burn.
Garnish with fresh thyme or parsley and serve immediately with crusty bread, creamy mashed potatoes, egg noodles, or roasted vegetables.

More Delicious Recipes,
- Bruschetta Chicken Recipe
- Pork Chop Recipe
- Freezer Meatballs
- Chicken Florentine Recipe
- Albondigas Soup Recipe (Mexican Meatball Soup)
- Cranberry Meatballs
If you make this French Onion Meatball Skillet, please leave a comment and share how it turned out—I love hearing feedback!


French Onion Meatball Skillet Recipe
Jessica Randhawa
Ingredients
For the Meatballs
- 2 pounds ground chicken or turkey
- ½ onion, minced
- ½ cup shredded Gruyère
- ½ cup shredded mozzarella
- ⅓ cup bread crumbs
- 5 cloves garlic, minced
- 2 large eggs, beaten
- 1 teaspoon fresh thyme, chopped
- 1½ teaspoon kosher salt
- ½ teaspoon black pepper
For the French Onion Soup Sauce
- 2 tablespoons olive oil
- 4 large yellow onions, thinly sliced
- 1 teaspoon kosher salt, plus more to taste
- 3 tablespoons butter
- 4 cloves garlic, minced
- ½ cup dry sherry or dry white wine (optional)
- 2 cups low-sodium beef broth
- 1 teaspoon fresh thyme, minced
- Black pepper, to taste
- 2 cups shredded Gruyère cheese
Instructions
- Preheat oven to 400°F and line a large baking sheet with parchment paper. You may need to bake the meatballs in two batches.
- Mix the meatball ingredients until combined. Shape into about 32 meatballs and place on the baking sheet.
- Bake 20 minutes or until the internal temperature reaches 160°F. Remove and set aside.
- Meanwhile, heat olive oil in a large skillet or Dutch oven. Add the sliced onions and cook 5–10 minutes to soften.
- Add salt and butter. Continue cooking over medium–low heat, stirring occasionally, until the onions are very soft and deep golden brown (30–45 minutes for best results).
- Add garlic and cook 1 minute. Pour in sherry or wine, scraping up browned bits, and reduce by half. Add beef broth and thyme, season with salt and pepper, bring to a simmer, and reduce slightly, about 5 minutes.
- Add the cooked meatballs to the sauce and sprinkle with shredded Gruyère. Cover and heat until meatballs are warmed through and cheese melts, 5–10 minutes. Optional: broil 1–2 minutes to brown the cheese.
- Garnish with fresh thyme and serve warm with bread, mashed potatoes, or noodles.
Notes
- Caramelizing onions takes time but adds deep flavor. Allow at least 30 minutes; 45 minutes yields richer color and taste.
- If you prefer, skip the sherry or wine and use extra beef broth instead.
- Ground turkey, chicken, beef, pork, or lamb all work for the meatballs.
- To make it gluten-free, substitute gluten-free bread crumbs.
- Optional: finish under the broiler for 1–2 minutes to brown the cheese—only use an oven-safe skillet and watch carefully.
Nutrition
Carbohydrates: 13 g |
Protein: 38 g |
Fat: 33 g
Nutrition information is an estimate and should be used as a guideline.
Did you make this? Leave a comment below!