Jump to RecipeJump to VideoLeave a ReviewPin Recipe

All the cozy, savory flavors of classic French onion soup come together in this easy skillet of French onion meatballs. Tender beef meatballs simmer in caramelized onions and rich broth, then get topped with bubbly melted cheese. The ultimate comfort food dinner feels special, and still comes together easily on a busy weeknight.

If you love hearty, family friendly meals like this one, be sure to check out my baked meatballs and dump-and-bake meatball casserole, or browse my collection of Cold Weather Comfort Classics.

Overhead image of French onion soup meatballs in a skillet.

Before You Get Started

  • Don’t rush the onions. Deeply caramelized onions are the soul of this dish. Give them 20-25 minutes to turn golden and sweet. Shortcutting this step means missing out on that signature French onion flavor.
  • Use good beef broth. Since the broth is a main flavor component (not just background liquid), choose one with rich, beefy taste. Low-sodium lets you control the salt.
  • Don’t skip the broiler. That bubbly, golden cheese on top is what makes this dish. A quick broil at the end gets you there in just 2-3 minutes.
  • Let the meatballs rest before serving. A few minutes of resting helps them hold together and lets the flavors settle.

Choosing Your Cheese

Gruyere is the classic choice for French onion soup, thanks to its nutty flavor and smooth melt. Swiss is a great everyday substitute that melts beautifully. If you are in a pinch, provolone works too, but the flavor will be a little milder.

** Tip: Shred cheese from a block when you can. It melts more smoothly than pre-shredded bags.

For the meatballs, I recommend 80/20 beef for moisture and tenderness, although a mix of beef and pork works well too.

Ingredients for French onion meatballs.

How to Make French Onion Meatballs

Step 1: Caramelize the Onions

Start by melting butter in a large oven safe skillet over medium low heat. Add the sliced onions with a little salt and sugar, then let them slowly soften and darken. Stir occasionally and give them the full 20 to 25 minutes they need. The onions should be deep golden, very soft, and almost jammy.

** Tip: If the onions start to stick to the pan or look too dry as they’re cooking, just add a small splash of water to the skillet when needed.

** Tip: You can caramelize the onions up to a day ahead. Refrigerate them, then warm them in the skillet when you are ready to continue.

Caramelized onions in a skillet.

Once the onions are ready, stir in Worcestershire and garlic. If you are using white wine, pour it in and let it reduce. Transfer everything to a bowl and set aside.

Caramelized onions in a bowl.

Step 2: Make the Meatballs

While the onions cook, stir together the ground beef, breadcrumbs, egg, thyme, salt, pepper, onion powder, milk, and parsley. Mix gently with your hands so the meat stays tender. Roll the mixture into 1 1/2-inch balls so they cook evenly.

** Tip: Lightly wet your hands before rolling to keep the meat from sticking.

Meatballs on a baking sheet before browning.

Step 3: Brown the Meatballs

Warm the same skillet over medium heat and add a little oil if needed. Brown the meatballs on two or three sides until they have a nice golden crust. They do not need to be cooked through. They will finish in the broth.

Browning meatballs in a skillet.

Step 4: Simmer in Broth

Add the caramelized onions back to the pan, nestling them around the meatballs. Pour in the beef broth and tuck in a few sprigs of fresh thyme.

Adding broth, onions, and herbs to the skillet with the meatballs.

Bring everything to a gentle simmer and cook uncovered until the meatballs are cooked through. This usually takes about 12 to 15 minutes.

** Tip: Carefully turn the meatballs about halfway through simmering so that they cook through evenly.

** Quick note: The broth will reduce slightly and turn more saucy. If it reduces too much, just add a splash more broth.

Simmering French onion meatballs with caramelized onions and broth.

Step 5: Top with Cheese and Broil

Sprinkle the shredded Gruyere or Swiss evenly over the top of the skillet.

Sprinkling grated Gruyere over French onion meatballs.

Place the pan under the broiler for 2 to 3 minutes, just until the cheese is melted, bubbly, and starting to brown.

** Tip: Keep a close eye on the broiler. It goes from perfect to burnt quickly.

Horizontal overhead shot of French onion soup meatballs in a skillet with melted Gruyere cheese on top.

Step 6: Rest and Serve

Let the skillet rest for about 5 minutes so the meatballs settle. Serve straight from the pan with mashed potatoes, buttered noodles, or warm crusty bread.

Horizontal overhead image of French onion meatballs in a white bowl with a baguette.

What to Serve with French Onion Meatballs

There are so many great sides for soaking up that rich broth and melted cheese. Here are a few family favorites.

Storage, Freezing, and Make Ahead

Storage: Keep leftovers in an airtight container in the refrigerator for 3 to 4 days.

Reheating: Reheat gently on the stovetop with a splash of broth to loosen the sauce. The microwave works too, but the stovetop gives better texture.

Freezing: Freeze the meatballs and sauce for up to 3 months without the cheese topping. Add fresh cheese when reheating and broil to finish.

Make ahead: Caramelize the onions up to 2 days ahead. You can also roll the meatballs and refrigerate them until ready to cook.

Frequently Asked Questions

Can I make these French onion meatballs in the slow cooker?

You can brown the meatballs, add them to a slow cooker with the onions and broth, and cook on low for about 3 hours. Add the cheese at the end and broil in an oven safe dish.

What is the best cheese for French onion meatballs?

Gruyere is traditional, but Swiss is an easy, affordable swap that melts beautifully.

Can I use ground turkey or chicken instead of beef?

Yes, but the meatballs will be leaner. Add an extra tablespoon or so of milk to keep them tender.

How do I keep the meatballs from falling apart?

Make sure you use the full amount of breadcrumbs and egg. Mix gently and let them rest a few minutes after cooking.

Do I have to caramelize the onions?

Caramelizing the onions is what gives the dish its signature French onion flavor. I do not recommend skipping this step.

Can I make these ahead for a party?

Yes. You can prepare the onions and meatballs ahead. Warm everything in the skillet, add cheese, and broil right before serving.

Baguette served with a bowl of French onion meatballs and a side salad.

Did you make this recipe?

If you enjoyed this recipe, please leave a comment with a 5-star review at the bottom of the post. Thank you!

Watch How to Make It

Square overhead shot of a skillet of French onion meatballs.

French Onion Meatballs

Prep: 20 minutes
Cook: 35 minutes
Resting Time 5 minutes
Total: 1 hour
Servings 6 people
Calories 464 kcal
Tender beef meatballs simmer with caramelized onions and rich broth, then topped with bubbly melted cheese for a cozy French onion soup-inspired dinner that comes together easily in one skillet.

Equipment

  • large cast iron skillet or Dutch oven

Ingredients
  

For the Caramelized Onions

  • 2 tablespoons salted butter
  • 2 large yellow onions, thinly sliced
  • ½ teaspoon kosher salt
  • ½ teaspoon sugar (optional, helps browning)
  • 2 teaspoons Worcestershire sauce
  • 2 cloves garlic, minced (about 2 teaspoons)
  • ½ cup dry white wine (optional)

For the Meatballs

  • 1 ½ lbs. ground beef (80/20 or 85/15)
  • ½ cup plain breadcrumbs
  • 1 large egg
  • 1 tablespoon minced fresh thyme (or 1 teaspoon dried thyme)
  • 1 teaspoon kosher salt
  • ½ teaspoon ground black pepper
  • ½ teaspoon onion powder
  • 2 tablespoons milk
  • 1 tablespoon minced fresh parsley (optional)

For the Sauce and Topping

  • 2 cups low-sodium beef broth
  • 3-4 sprigs fresh thyme
  • 1 ½ cups shredded Gruyère or Swiss cheese

Instructions

Caramelize the Onions

  • Melt the butter in a large oven-safe skillet over medium-low heat. Add the onions, salt, and sugar. Cook, stirring occasionally, until the onions are deep golden and soft, about 20 to 25 minutes.
    Making caramelized onions.
  • Stir in the Worcestershire and garlic. Cook 1 minute. If using the wine, add it now and cook until the wine is mostly evaporated, about 2-3 minutes. Transfer the onions to a bowl and set aside.
    Caramelized onions in a bowl.

Make the Meatballs

  • While the onions cook, stir together the beef, breadcrumbs, egg, thyme, salt, pepper, onion powder, milk, and parsley in a large bowl. Mix gently with your hands until just combined.
    Meatball mixture in a bowl.
  • Roll the mixture into 1 ½-inch meatballs (about the size of golf balls).
    Meatballs on a baking sheet before browning.

Brown the Meatballs

  • In the same skillet used for the onions, drizzle a little oil if needed and warm it over medium heat. Add the meatballs in a single layer. Cook until browned on two or three sides, about 5 to 7 minutes. They do not need to be cooked through. If there is a lot of grease in your pan, carefully drain off most of it.
    Browning meatballs in a skillet.

Simmer in the Broth

  • Add the caramelized onions back to the skillet, nestling them around the meatballs. Pour in the beef broth and tuck in the thyme sprigs.
    Adding broth, onions, and herbs to the skillet with the meatballs.
  • Bring to a gentle simmer. Cook, uncovered, until the meatballs are cooked through, about 12-15 minutes. Gently turn the meatballs about halfway through so that they cook evenly.
    Simmering French onion meatballs with caramelized onions and broth.

Broil with the Cheese

  • Remove the thyme sprigs. Sprinkle the Gruyère or Swiss evenly over the top.
    Sprinkling grated Gruyere over French onion meatballs.
  • Place the skillet under the broiler for 2 to 3 minutes, until the cheese is melted, bubbly, and golden.
    Horizontal overhead shot of French onion soup meatballs in a skillet with melted Gruyere cheese on top.

Rest and Serve

  • Let the meatballs rest 5 minutes to settle. Serve right from the skillet with mashed potatoes, buttered noodles, or crusty bread.
    Horizontal overhead image of French onion meatballs in a white bowl with a baguette.

Notes

  • Don’t rush the onions. Low and slow (20-25 min) gives you the best flavor.
  • Use 80/20 ground beef (or 85/15) for juicy, flavorful meatballs.
  • Meatballs don’t need to be cooked through when browning; they finish in the broth.
  • Gruyère is classic. Swiss is a great substitute.
  • Keep a close eye on the broiler to avoid burning the cheese.
  • Let rest 5 minutes before serving for best texture.
  • Serve with crusty bread, mashed potatoes, or egg noodles.
  • Leftovers keep 3-4 days refrigerated. Reheat on stovetop with a splash of broth.
  • Freeze without cheese for up to 3 months. Add cheese when reheating.
  • Caramelized onions can be made up to 2 days ahead.

Nutrition

Serving: 1/6 of the recipeCalories: 464kcalCarbohydrates: 13gProtein: 33gFat: 31gSaturated Fat: 14gPolyunsaturated Fat: 1gMonounsaturated Fat: 11gTrans Fat: 1gCholesterol: 144mgSodium: 992mgPotassium: 655mgFiber: 1gSugar: 4gVitamin A: 474IUVitamin C: 6mgCalcium: 306mgIron: 3mg
Keyword: french onion meatballs, french onion soup meatballs, what to serve with french onion soup meatballs
Course: Dinner
Cuisine: American
Square shot of Blair Lonergan from the food blog The Seasoned Mom serving a pie at a table outside.

Hey, I’m Blair!

Welcome to my farmhouse kitchen in the foothills of Virginia’s Blue Ridge Mountains. Inspired by local traditions and seasonal fare, you’ll find plenty of easy, comforting recipes that bring your family together around the table. It’s down-home, country-style cooking!

Read More

Leave a Comment

Your email address will not be published. Required fields are marked *

Recipe Rating




This site uses Akismet to reduce spam. Learn how your comment data is processed.