Go Back
–+ servings
Ultra close-up macro food photography of one-pan French onion beef meatballs smothered in caramelized onion gravy and melted bubbling Gruyère cheese

One-Pan French Onion Beef Meatballs with Melted Gruyère

The ultimate cozy skillet dinner! Juicy seasoned halal beef meatballs simmered in deeply caramelized French onion gravy, smothered under a bubbling golden blanket of melted Gruyère and Swiss cheese. Elegant French bistro flavor made effortlessly in a single skillet!
Prep Time 20 minutes
Cook Time 40 minutes
Total Time 1 hour
Servings: 5 servings (approx. 4 meatballs with rich gravy)
Calories: 480

Ingredients
  

For the Tender Beef Meatballs
  • 1.5 lbs lean ground beef halal, 85/15 blend
  • 1/2 cup panko breadcrumbs
  • 1/3 cup milk to soak breadcrumbs
  • 1 large egg lightly beaten
  • 1/3 cup freshly grated Parmigiano-Reggiano
  • 3 cloves garlic minced
  • 1 tbsp fresh thyme leaves finely chopped
  • 1 tsp Worcestershire sauce halal / anchovy-free
  • 1 tsp kosher salt
  • 1/2 tsp freshly cracked black pepper
  • 2 tbsp olive oil for searing
For the Caramelized Onion Gravy & Cheese Topping
  • 3 large yellow onions thinly sliced (approx. 5 cups)
  • 3 tbsp unsalted butter
  • 2 tbsp all-purpose flour
  • 2 1/2 cups rich beef bone broth low sodium
  • 1 tbsp Dijon mustard
  • 3 sprigs fresh thyme plus extra for garnish
  • 1 cup Gruyère cheese freshly shredded
  • 1 cup Swiss or provolone cheese freshly shredded
  • Warm French baguette or garlic mashed potatoes for serving

Method
 

Step-by-Step Instructions
  1. Mix & Shape Meatballs: In a bowl, soak panko breadcrumbs in milk for 5 minutes. Add ground beef, egg, grated parmesan, minced garlic, chopped thyme, Worcestershire, kosher salt, and black pepper. Gently combine with hands without overworking. Roll into 20 golf ball-sized meatballs (approx. 1.5 inches).
  2. Sear the Meatballs: Heat olive oil in a large 12-inch oven-safe cast iron skillet over medium-high heat. Add meatballs in batches and sear for 5 to 6 minutes, turning until browned on all sides (they don't need to cook through yet). Transfer to a plate.
  3. Caramelize the Onions: Lower heat to medium-low. Melt butter in the same skillet. Add sliced onions and a pinch of salt. Cook slowly, stirring occasionally, for 20 to 25 minutes until deep golden-brown, soft, and caramelized.
  4. Build the French Onion Gravy: Sprinkle flour over the caramelized onions and stir for 1 minute to cook out raw flour taste. Slowly pour in beef bone broth, whisking constantly to dissolve browned bits on the pan bottom. Whisk in Dijon mustard and add fresh thyme sprigs. Bring to a gentle simmer until gravy begins to thicken.
  5. Simmer Meatballs: Nestled the seared meatballs back into the bubbling onion gravy. Cover loosely with foil and simmer over low heat for 10 minutes until meatballs are thoroughly cooked through (165°F).
  6. Melt & Broil Cheese: Remove thyme sprigs. Generously smother the top of the meatballs and gravy with the shredded Gruyère and Swiss cheeses. Transfer the skillet directly under your oven broiler on HIGH for 3 to 4 minutes until the cheese is bubbling, gooey, and beautifully blistered golden-brown. Garnish with fresh thyme and serve hot with crusty baguette!

Nutrition

Serving: 4gCalories: 480kcalCarbohydrates: 16gProtein: 38gFat: 28gSaturated Fat: 14gCholesterol: 125mgSodium: 710mgPotassium: 590mgFiber: 2gSugar: 7gVitamin A: 480IUVitamin C: 8mgCalcium: 360mgIron: 3.8mg

Notes

Chef Secrets: 1. Caramelize onions low and slow: Don't rush the onions. Cooking them in butter and olive oil with a pinch of salt over medium-low heat for 25 minutes breaks down natural sugars into that deep mahogany sweetness that defines French onion soup. 2. Deglaze the fond: After searing the meatballs, scrape up all the browned bits (fond) stuck to the skillet bottom when adding the broth; that's where intense savory depth lives. 3. Broil for blistered cheese: Pop the oven-safe skillet under the oven broiler on HIGH for 3 to 4 minutes to create those signature blistered, golden-brown cheese bubbles.

Tried this recipe?

Let us know how it was!