This savory skillet meal combines the deep, rich flavors of classic French onion soup with juicy, cheese-stuffed meatballs. It is a comforting and hearty dinner that pairs perfectly with creamy mashed potatoes or a toasted baguette.

List of ingredients
- 2 pounds ground chicken or turkey – use lean meat for best results.
- 1/2 onion, minced – adds aromatic base to the meatballs.
- 1/2 cup Gruyère cheese, shredded – provides a nutty flavor inside the meat.
- 1/2 cup mozzarella cheese, shredded – adds a gooey stretch to the center.
- 1/3 cup bread crumbs – acts as a binder for the meat.
- 5 cloves garlic, minced – for a pungent, savory punch.
- 2 large eggs, beaten – helps hold the meatballs together.
- 1 teaspoon fresh thyme, chopped – adds an earthy herb note.
- 1.5 teaspoon kosher salt – enhances all the flavors.
- 1/2 teaspoon black pepper – adds a subtle spice.
- 2 tablespoon olive oil – used for sautéing the onions.
- 4 large yellow onions, thinly sliced – the main component for caramelization.
- 1 teaspoon kosher salt, plus more to taste – helps draw moisture from onions.
- 3 tablespoon butter – adds richness and color to the sauce.
- 4 cloves garlic, minced – for the savory onion sauce.
- 1/2 cup beef broth – used as a replacement for alcohol to deglaze the pan.
- 2 cups low-sodium beef broth – creates the rich soup base.
- 1 teaspoon fresh thyme, minced – complements the onion flavor.
- black pepper, to taste – for a balanced finish.
- 2 cups Gruyère cheese, shredded – used for the final melted topping.
step-by-step instructions
- Prepare the Oven: Preheat your oven to 400 degrees F and line a large baking sheet with parchment paper. You may need to bake the meatballs in two separate batches to avoid overcrowding the pan.
- Mix the Meatballs: In a large mixing bowl, combine the ground chicken or turkey, minced onion, shredded Gruyère, mozzarella, bread crumbs, garlic, beaten eggs, thyme, salt, and black pepper. Mix until all ingredients are fully incorporated but do not overwork the meat.
- Shape and Bake: Form the mixture into approximately 32 evenly sized meatballs. Place them on the prepared baking sheet and bake for about 20 minutes. Ensure the internal temperature reaches 160 degrees F using a digital meat thermometer before removing them from the oven.
- Sauté the Onions: While the meatballs are baking, heat olive oil in a large skillet or Dutch oven over medium heat. Add the sliced yellow onions and stir to coat them in oil, cooking for 5-10 minutes.
- Caramelize the Onions: Stir in the salt and butter. Continue cooking the onions, stirring occasionally to prevent burning, until they become very soft and a deep golden-brown color. This process typically takes 30 to 45 minutes.
- Build the Sauce: Stir in the minced garlic and cook for one minute. Add the first 1/2 cup of beef broth, scraping any brown bits from the bottom of the pan. Stir in the remaining beef broth, fresh thyme, salt, and pepper. Bring the mixture to a boil, then reduce to a simmer for 5 minutes until slightly thickened.
- Combine and Melt: Place the cooked meatballs into the skillet and sprinkle the shredded Gruyère cheese over the top. Cover the pan with a lid and cook for 5-10 minutes until the meatballs are warmed through and the cheese is completely melted.
- Final Touch: Garnish the dish with a sprinkle of fresh thyme if desired. Serve the skillet hot alongside fresh bread or creamy mashed potatoes.
Meatball Preparation Mastery
Choosing the Right Ground Meat
Ground chicken is often a bit moister, while ground turkey can have a slightly bolder flavor. Both are excellent substitutes for traditional beef in this recipe. Ensure you choose a lean option to prevent the meatballs from becoming too greasy during the baking process.
How to Avoid Overmixing
When combining the ingredients, use a light hand or a fork. Overworking the meat can break down the proteins too much, resulting in a dense and tough texture. Stop mixing as soon as the bread crumbs and cheeses are evenly distributed.
Ensuring the Cheese Center Stays Intact
To keep the cheese from leaking out, place a small amount of the shredded cheese in the center of a meat portion. Carefully wrap the meat around the cheese, pinching the edges shut. This creates a pocket of melted cheese that surprises you in every bite.
Using a Digital Thermometer for Safety
Visual cues like browning can be misleading with ground poultry. Always use a digital meat thermometer to check that the center of the largest meatball has reached 160 degrees F. This ensures the meat is safe to eat while remaining juicy.
Perfecting the Caramelized Onions
Managing Heat to Prevent Burning
Keep your burner on medium to medium-low heat throughout the entire process. If the heat is too high, the onions will char on the outside before the sugars can break down internally. Stir frequently to move the onions from the hottest parts of the pan.
The Importance of Patience for Flavor
True caramelization is a slow chemical process that cannot be rushed. Giving the onions 30 to 45 minutes allows the natural sugars to brown and develop a complex sweetness. Sautéing them quickly will result in softened onions, but they will lack the deep flavor of French onion soup.
Adding Salt Early to Draw Out Moisture
Adding salt at the beginning of the sauté process helps draw water out of the onion cells. This moisture allows the onions to steam slightly before they start to brown, ensuring a more uniform texture. It also prevents the onions from burning too quickly.
Deglazing the Pan for Savory Taste
When you add the beef broth, use a wooden spoon to scrape the brown bits, known as fond, from the bottom of the skillet. These concentrated particles are packed with flavor and will dissolve into the sauce. This step is essential for achieving a professional-tasting gravy.
Customizing Your Ingredients
Gluten-Free Breadcrumb Alternatives
To make this recipe gluten-free, you can replace standard bread crumbs with almond meal or certified gluten-free bread crumbs. Panko-style gluten-free crumbs also work well to provide a similar structure. Ensure the ratio remains the same to maintain the meatball consistency.
Alternative Cheese Pairings for the Sauce
While Gruyère is the traditional choice for French onion dishes, Swiss cheese is a great alternative with a similar profile. For a sharper taste, you can use a white sharp cheddar or a blend of Asiago and mozzarella. These choices provide different levels of saltiness and meltability.
Herb Substitutions for Fresh Thyme
If fresh thyme is unavailable, you can use dried thyme, but reduce the quantity to one-third of the original amount. Fresh rosemary or a blend of parsley and oregano can also add an earthy dimension. Always add dried herbs earlier in the cooking process to allow them to rehydrate.
Using Store-Bought Meatballs
If you are short on time, thawed frozen meatballs can be used in this recipe. Choose a variety that is lightly seasoned or plain so they do not clash with the rich onion sauce. Since they are already cooked, you only need to simmer them in the sauce until heated through.
Serving and Side Dish Ideas
Pairing with Creamy Mashed Potatoes
The rich, savory gravy of the French onion sauce is perfect for pouring over a mound of buttery mashed potatoes. The starch absorbs the broth, creating a cohesive and filling meal. For extra flavor, fold some roasted garlic into the potatoes.
Serving with Toasted Baguette Slices
To mimic the experience of French onion soup, serve the skillet with toasted slices of a French baguette. Rub the warm toast with a clove of raw garlic for added aroma. The crunch of the bread provides a great contrast to the soft meatballs.
Adding Steamed Green Vegetables
To balance the richness of the cheese and beef broth, serve this dish with a side of steamed broccoli or sautéed green beans. The freshness of green vegetables cuts through the heaviness of the meal. Roasted asparagus is another excellent choice that pairs well with thyme.
Using Egg Noodles as a Base
Broad egg noodles are a classic accompaniment for savory meat dishes in a sauce. Boil the noodles until al dente, then toss them with a bit of butter and parsley. Place the meatballs and sauce directly on top of the noodles for a comforting bowl of food.
Storage and Reheating Guide
Refrigerating Leftovers Safely
Store any remaining meatballs and sauce in an airtight container in the refrigerator for up to three days. Make sure the food has cooled slightly before sealing the lid to prevent excessive condensation. Keep the meatballs submerged in the sauce to prevent them from drying out.
Freezing Cooked Meatballs for Later Use
You can freeze the cooked meatballs separately from the sauce for long-term storage. Flash-freeze them on a baking sheet before transferring them to a freezer bag to prevent them from sticking together. They will stay fresh for up to three months.
Best Ways to Reheat Without Drying
The best method for reheating is to use a skillet over low heat with a splash of extra beef broth. Cover the pan with a lid to trap the steam, which helps re-melt the cheese and keep the meat moist. Avoid using a microwave on high power, as it can make the meatballs rubbery.
Preventing the Cheese from Separating
When reheating, heat the dish slowly. If the heat is too aggressive, the fats in the Gruyère cheese can separate, leaving an oily residue on the sauce. A gentle simmer ensures the cheese remains smooth and creamy.
Troubleshooting Common Issues
What to Do if the Sauce is Too Thin
If the sauce has not thickened enough after simmering, you can create a simple slurry with one teaspoon of cornstarch and a tablespoon of water. Stir the slurry into the boiling sauce and cook for another minute. This will give the gravy a thicker, more luxurious consistency.
Fixing Overly Salty Sauce
Since beef broth can vary in sodium levels, the sauce may occasionally become too salty. To fix this, stir in a small amount of unsalted butter or a splash of heavy cream. Alternatively, adding a pinch of sugar can help balance the saltiness of the caramelized onions.
Preventing Meatballs from Falling Apart
If your meatballs are crumbling, it may be due to too much moisture in the meat or a lack of binder. Ensure the minced onion is squeezed of excess liquid before adding it to the meat. Adding an extra tablespoon of bread crumbs can also provide more stability.
Solving Burnt Onion Bitterness
If the onions are scorched and taste bitter, it is best to start the onion process over. Burnt sugar cannot be masked and will ruin the flavor of the entire skillet. To prevent this, lower your heat and stir more frequently during the final stages of browning.
Frequently Asked Questions
Can I make this in a slow cooker?
While the meatballs can be cooked in a slow cooker, you must caramelize the onions in a skillet first. Add the caramelized onions, broth, and cooked meatballs to the slow cooker on low for 3-4 hours. Stir in the cheese just before serving to ensure it melts properly.
Which onion is best for caramelizing?
Yellow onions are the gold standard for this recipe because they have a balanced sugar and sulfur content. White onions can be used but are slightly sharper, while red onions can change the color of the sauce. Yellow onions provide the most authentic soup flavor.
How do I stop the meatballs from sticking to the pan?
Use high-quality parchment paper on your baking sheet to ensure a clean release. Avoid overcrowding the pan, as this creates steam that can make the bottoms of the meatballs soggy. If you are using a skillet, ensure the oil is hot before adding the meatballs.
Can I use a different type of broth?
You can use vegetable broth if you prefer a lighter taste, though it will lack the deep richness of beef broth. Chicken broth is another viable option that pairs well with the poultry meatballs. If using vegetable broth, you may want to add a teaspoon of soy sauce for color and umami.
Print
Cheese-Filled French Onion Meatball Skillet
- Total Time: 85 minutes
- Yield: 8 servings
- Diet: General
Description
This French Onion Meatball Skillet is your favorite French onion soup – updated! Made with perfectly juicy, cheese-filled turkey meatballs, caramelized onions, and melted Gruyère cheese, this unforgettable main dish is perfect with fresh bread or creamy mashed potatoes.
Ingredients
- 2 pounds ground chicken (or turkey)
- 1/2 onion (minced)
- 1/2 cup Gruyère cheese (shredded)
- 1/2 cup mozzarella cheese (shredded)
- 1/3 cup bread crumbs
- 5 cloves garlic (minced)
- 2 large eggs (beaten)
- 1 teaspoon fresh thyme (chopped)
- 1.5 teaspoon kosher salt
- 1/2 teaspoon black pepper
- 2 tablespoon olive oil
- 4 large yellow onions (thinly sliced)
- 1 teaspoon kosher salt (plus more to taste)
- 3 tablespoon butter
- 4 cloves garlic (minced)
- 1/2 cup beef broth (as a substitute for wine/sherry)
- 2 cups low-sodium beef broth
- 1 teaspoon fresh thyme (minced)
- black pepper (to taste)
- 2 cups Gruyère cheese (shredded)
Instructions
- Preheat: Preheat oven to 400 degrees F and line a large baking sheet with parchment paper.
- Mix Meatballs: In a large bowl mix together all of the ingredients for the meatballs (the ground chicken, onion, cheeses, bread crumbs, garlic, eggs, thyme, salt, and black pepper) until fully combined.
- Bake Meatballs: Shape into approximately 32 meatballs, then place on your prepared baking sheet. Bake until golden and fully cooked, approximately 20 minutes, or until the internal temperature registers 160 degrees F. Remove from the oven and set aside.
- Sauté Onions: Heat the olive oil in a large skillet or Dutch oven set over medium heat. Add the onions and mix well to coat in oil. Allow the onions to cook, stirring occasionally, for 5-10 minutes.
- Caramelize: Add the salt and butter. Continue to cook, stirring as needed to prevent burning, until the onions are very soft and golden-brown.
- Prepare Sauce: Add the garlic and continue to cook for 1 minute. Then add the 1/2 cup beef broth, scraping up any bits that may be stuck on the bottom of the pan. Add the remaining 2 cups beef broth, fresh thyme, and season with salt and pepper. Bring to a boil, then reduce heat to a simmer. Cook until slightly thickened, 5 minutes.
- Combine: Add the cooked meatballs to the skillet and sprinkle with the shredded Gruyère cheese. Cover with a lid and cook until the meatballs are warmed through and the cheese is melted approximately 5-10 minutes.
- Serve: Garnish with fresh thyme, if desired, and serve warm with fresh bread or creamy mashed potatoes.
Notes
Caramelizing onions is a slow process; allow 30-45 minutes for best results. Extra meatballs can be frozen. For a bubbly golden top, you can place the oven-safe skillet under a broiler for 1-2 minutes. Substitute regular bread crumbs with gluten-free variety for a gluten-free version.
- Prep Time: 25 minutes
- Cook Time: 60 minutes
- Category: Dinner
- Method: Baking
- Cuisine: American
Nutrition
- Serving Size: 1 serving
- Calories: 513 kcal
- Sugar: 4 g
- Sodium: 1181 mg
- Fat: 33 g
- Saturated Fat: 15 g
- Unsaturated Fat: 18 g
- Trans Fat: 0 g
- Carbohydrates: 13 g
- Fiber: 2 g
- Protein: 38 g
- Cholesterol: 206 mg