Go Back
French onion meatball skillet with melted golden gruyere and caramelized onions over juicy meatballs in savory broth.

French Onion Meatball Skillet That Tastes Like Saturday

Caramelized onions meet tender seasoned meatballs under a blanket of bubbly Gruyere in this one-skillet dinner that tastes like it simmered all day but takes just 75 minutes. Perfect for weeknights or when you need comfort food that delivers.
Prep Time 45 minutes
Cook Time 30 minutes
Total Time 1 hour 15 minutes
Course Dinner, Main Course
Cuisine American, French
Servings 6
Calories 580 kcal

Equipment

  • 12-inch cast iron skillet
  • Box Grater
  • Mixing Bowl
  • Large Skillet for Searing

Ingredients
  

Meatballs

  • 1.5 lbs ground beef (80/20)
  • 1 large egg
  • 1/2 cup breadcrumbs
  • 4 cloves garlic, minced
  • 2 tbsp Worcestershire sauce
  • 1 tsp salt
  • 1/2 tsp black pepper
  • 1 pinch red pepper flakes

Caramelized Onions

  • 4 large yellow onions, thinly sliced
  • 3 tbsp butter
  • 2 tbsp olive oil
  • salt to taste

Sauce and Assembly

  • 3 cups beef broth
  • 4-5 sprigs fresh thyme
  • 8 oz Gruyere cheese (block, freshly grated)

For Serving

  • crusty bread, egg noodles, or roasted potatoes

Instructions
 

  • Start the onions: Heat 3 tbsp butter and 2 tbsp olive oil in your cast iron skillet over medium heat. Add the sliced onions and a generous pinch of salt. Stir to coat. Reduce the heat to medium-low and cook, stirring every 5 minutes, for 40-45 minutes until deep mahogany brown.
  • Make the meatballs: While onions cook, combine ground beef, egg, breadcrumbs, minced garlic, Worcestershire sauce, 1 tsp salt, 1/2 tsp black pepper, and a pinch of red pepper flakes in a bowl. Mix gently with your hands. Roll into 12-14 meatballs (1.5 inches each).
  • Sear the meatballs: Heat a separate large skillet over medium-high heat with a splash of oil. Add meatballs in a single layer (don't crowd). Sear 2-3 minutes per side until browned all over. They don't need to be cooked through.
  • Build the sauce: Once onions are caramelized, pour in 1/4 cup beef broth and scrape the pan bottom to lift browned bits. Add remaining broth and thyme sprigs. Bring to a gentle simmer.
  • Combine: Nestle the seared meatballs into the onion broth. Cover and simmer on low heat for 15 minutes until meatballs are cooked through.
  • Add cheese: Preheat broiler. Remove thyme sprigs. Taste and adjust seasoning. Sprinkle grated Gruyere evenly over top. Transfer skillet to oven and broil 2-3 minutes until bubbly and golden brown. Watch closely.
  • Rest and serve: Let skillet rest 5 minutes. Serve with crusty bread, over egg noodles, or with roasted potatoes.

Notes

Make ahead: Caramelize onions and cook meatballs (omit broth and cheese). Store separately in fridge up to 4 days or freeze (without cheese) up to 3 months. Reheat in covered skillet at 350°F for 20-25 minutes, then add cheese and broil.
Swaps: Use turkey instead of beef (add 1 tbsp olive oil to mixture). Gluten-free: use GF panko or almond flour for binder. Dairy-free: use dairy-free cheese or omit cheese entirely.
Don't crowd the meatballs when searing; the crust is essential. Deglaze the meatball pan with a splash of broth and pour that liquid into the onions for extra umami.
Keyword caramelized onion meatballs, French onion meatball skillet, one skillet dinner