Go Back
+ servings

French Onion Meatballs

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.
Course Dinner
Cuisine American
Keyword french onion meatballs, french onion soup meatballs, what to serve with french onion soup meatballs
Prep Time 20 minutes
Cook Time 35 minutes
Resting Time 5 minutes
Total Time 1 hour
Servings 6 people
Calories 464kcal

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.

Video

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 recipe | Calories: 464kcal | Carbohydrates: 13g | Protein: 33g | Fat: 31g | Saturated Fat: 14g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 11g | Trans Fat: 1g | Cholesterol: 144mg | Sodium: 992mg | Potassium: 655mg | Fiber: 1g | Sugar: 4g | Vitamin A: 474IU | Vitamin C: 6mg | Calcium: 306mg | Iron: 3mg