Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

French Onion Meatballs


  • Author: Tyla
  • Total Time: 1 hour 30 minutes
  • Yield: 6 servings 1x

Description

Okay, so you know that moment when you’re slurping French onion soup and thinking, “This is amazing, but I wish I could eat it with a fork”? Well, problem solved. These French Onion Meatballs are basically everything you love about that classic soup but in convenient, bite-sized form that won’t require you to wrestle with stringy cheese hanging off your spoon.

We’re talking tender, juicy meatballs swimming in a rich, caramelized onion gravy that’s been simmered to perfection, then topped with a blanket of melted Gruyère cheese that gets all bubbly and golden. It’s comfort food that thinks it’s fancy, but honestly? It’s just really, really good. Serve it over mashed potatoes, egg noodles, or just grab a spoon and go to town. No judgment here.


Ingredients

Scale

For the Meatballs:

  • 1.5 lbs ground beef (80/20 is perfect)
  • 1/2 lb ground pork (trust me, it makes them extra tender)
  • 1 cup panko breadcrumbs
  • 1/2 cup whole milk
  • 1 large egg
  • 1/4 cup grated Parmesan cheese
  • 2 cloves garlic, minced
  • 1 tsp salt
  • 1/2 tsp black pepper
  • 1/4 tsp dried thyme
  • 2 tbsp olive oil (for browning)

For the French Onion Magic:

  • 4 large yellow onions, thinly sliced (yeah, it’s a lot — they cook down)
  • 3 tbsp butter
  • 1 tbsp olive oil
  • 1 tsp sugar (helps with caramelization)
  • 1/2 tsp salt
  • 3 cloves garlic, minced
  • 1/4 cup dry white wine (or more beef broth)
  • 3 cups beef broth (get the good stuff)
  • 2 tbsp fresh thyme leaves (or 1 tbsp dried)
  • 2 bay leaves
  • 1 tbsp Worcestershire sauce

For the Cheesy Finish:

  • 2 cups shredded Gruyère cheese (splurge on this — it’s worth it)
  • 1/2 cup shredded mozzarella (for extra meltiness)
  • Fresh thyme for garnish
  • Chopped fresh parsley

Instructions

Step 1: Prep Those Meatballs

In a small bowl, mix the panko with milk and let it sit for 5 minutes until it’s all mushy (that’s the good stuff).

In a large bowl, combine ground beef, ground pork, the soaked breadcrumbs, egg, Parmesan, minced garlic, salt, pepper, and thyme.

Mix gently with your hands — don’t overwork it or you’ll get tough meatballs, and nobody wants that.

Roll into balls about 1.5 inches in diameter. You should get about 20-24 meatballs.

Step 2: Brown Those Beauties

Heat olive oil in a large, oven-safe skillet or Dutch oven over medium-high heat.

Brown the meatballs in batches, turning them to get color on all sides (about 6-8 minutes total).

They don’t need to be fully cooked — just golden and gorgeous.

Remove meatballs and set aside on a plate.

Step 3: The Onion Transformation

In the same pan (don’t clean it — those brown bits are flavor gold), add butter and olive oil.

Add the sliced onions, sugar, and salt. Stir to coat.

Cook over medium heat, stirring occasionally, for about 25-30 minutes until the onions are deep golden brown and caramelized.

This is where the magic happens, so don’t rush it. Good things take time.

Step 4: Build the Sauce

Add minced garlic to the caramelized onions and cook for another minute.

Pour in the wine (if using) and scrape up any brown bits from the bottom of the pan.

Add beef broth, thyme, bay leaves, and Worcestershire sauce.

Bring to a simmer and let it bubble away for 10 minutes to develop the flavors.

Step 5: Bring It All Together

Nestle the browned meatballs back into the sauce.

Cover and simmer for 15-20 minutes until the meatballs are cooked through (internal temp of 165°F).

Remove the bay leaves because nobody wants to bite into one of those.

Step 6: The Cheese Finale

Preheat your broiler.

Sprinkle the Gruyère and mozzarella over the top of the meatballs and sauce.

Pop under the broiler for 2-3 minutes until the cheese is bubbly and golden.

Garnish with fresh thyme and parsley.

Notes

Serve over creamy mashed potatoes, buttered egg noodles, or crusty bread for soaking up that incredible sauce.

A simple green salad with vinaigrette cuts through all that rich, cheesy goodness.

Pair with a glass of red wine — maybe a Côtes du Rhône or Burgundy to keep the French theme going.

  • Prep Time: 30 minutes
  • Cook Time: 1 hour

Nutrition

  • Calories: ~485 kcal
  • Fat: ~28g
  • Carbohydrates: ~22g
  • Protein: ~32g