Go Back
–+ servings
Ultra close-up macro of bubbling cozy French onion meatballs in a cast-iron skillet smothered in caramelized onion gravy and melted Gruyere cheese

Cozy French Onion Meatballs: Easy One-Skillet Dinner

Juicy, tender homemade beef and pork meatballs simmered in a rich, deeply caramelized sweet onion beef gravy, smothered in bubbling melted French Gruyère and Swiss cheese. The ultimate cozy 35-minute skillet dinner for chilly autumn evenings!
Prep Time 15 minutes
Cook Time 20 minutes
Total Time 35 minutes
Servings: 5 servings
Calories: 485

Ingredients
  

Tender Seasoned Meatballs
  • 1 lb lean ground beef
  • 1/2 lb ground pork
  • 1/2 cup panko breadcrumbs
  • 1/3 cup whole milk
  • 1 large egg
  • 3 cloves garlic, minced
  • 1/4 cup grated parmesan
  • 1 tsp Worcestershire sauce
  • 1 tsp salt and pepper
Caramelized Onion Gravy
  • 2 large sweet yellow onions, sliced
  • 2 tbsp unsalted butter
  • 1 tbsp olive oil
  • 1 tbsp all-purpose flour
  • 1/4 cup dry white wine or sherry
  • 1 1/2 cups beef bone broth
  • 1 tsp Dijon mustard
  • 1 tbsp fresh thyme
Melty Cheese Crown & Garnish
  • 1 cup Gruyère cheese, shredded
  • 1/2 cup Swiss or provolone cheese
  • 2 sprigs fresh thyme garnish

Method
 

Step-by-Step Instructions
  1. Mix & Shape Meatballs: In a large bowl, soak panko breadcrumbs in milk for 3 minutes until softened (this panade keeps meatballs ultra-tender). Add ground beef, ground pork, beaten egg, minced garlic, grated parmesan, Worcestershire sauce, salt, and pepper. Gently mix with clean hands just until combined (do not overwork). Roll into 15-18 golf ball-sized meatballs.
  2. Sear the Meatballs: Heat olive oil and 1 tablespoon butter in a 12-inch oven-safe cast iron skillet over medium-high heat. Add meatballs in a single layer and sear for 5-6 minutes, turning occasionally until golden brown on all sides (they do not need to be cooked through completely yet). Transfer to a plate.
  3. Caramelize the Onions: Lower skillet heat to medium. Add the remaining 1 tablespoon butter and the thinly sliced sweet yellow onions to the pan drippings with a pinch of salt. Sauté for 10-12 minutes, stirring frequently, until deeply golden brown, caramelized, and fragrant.
  4. Build Rich Beef Gravy: Sprinkle flour over the caramelized onions and stir for 1 minute. Pour in dry white wine or sherry, scraping up the flavorful browned bits from the skillet bottom. Whisk in rich beef bone broth, Dijon mustard, and fresh thyme. Simmer for 2-3 minutes until the gravy turns glossy and slightly thickened.
  5. Simmer Meatballs: Return the seared meatballs and their accumulated juices back into the simmering onion gravy. Reduce heat to low, cover the skillet, and simmer for 6-8 minutes until the meatballs are cooked through to an internal temperature of 165°F (74°C).
  6. Broil the Cheesy Crown: Uncover the skillet and generously scatter shredded Gruyère and Swiss cheese over the meatballs and gravy. Transfer skillet to the oven under the broiler on HIGH for 2-3 minutes until the cheese is bubbling vigorously, melted, and golden-brown blistered.
  7. Garnish & Serve: Scatter fresh thyme leaves over top. Serve immediately right from the hot cast iron skillet with toasted sourdough baguette slices or spooned over creamy garlic mashed potatoes!

Nutrition

Serving: 3gCalories: 485kcalCarbohydrates: 14gProtein: 36gFat: 31gSaturated Fat: 14gCholesterol: 115mgSodium: 780mgPotassium: 520mgFiber: 2gSugar: 6gVitamin A: 540IUVitamin C: 6mgCalcium: 320mgIron: 3.8mg

Tried this recipe?

Let us know how it was!