Go Back
French Onion Meatballs with Gruyère — Sear First, Simmer to Finish Pinterest recipe pin

French Onion Meatballs with Gruyère

Sear-and-simmer meatballs simmered in a rich caramelized onion sauce and finished with melted Gruyère and mozzarella for a dependable, savory weeknight main.
Prep Time 25 minutes
Cook Time 45 minutes
Total Time 1 hour 10 minutes
Servings: 6 servings
Calories: 470

Ingredients
  

  • 3 large yellow onions thinly sliced (about 6 cups)
  • 2 tablespoons unsalted butter
  • 1 tablespoon olive oil
  • 1/3 cup low-sodium beef broth for deglazing
  • 1 pound ground beef 80/20
  • 1 large egg
  • 1/2 cup plain breadcrumbs
  • 1/4 cup grated Parmesan cheese
  • 2 cloves garlic minced
  • 1 tablespoon Worcestershire sauce
  • 1 teaspoon kosher salt
  • 1/2 teaspoon freshly ground black pepper
  • 1 tablespoon chopped fresh parsley
  • 2 tablespoons neutral oil for searing
  • 2 tablespoons unsalted butter for sauce
  • 1 tablespoon all-purpose flour
  • 2 cups low-sodium beef broth for sauce
  • 1/2 teaspoon Dijon mustard
  • 1 cup grated Gruyère cheese
  • 1/2 cup shredded mozzarella cheese
  • Optional: 1 teaspoon fresh thyme or 1/2 teaspoon dried thyme

Equipment

  • 1 12-inch oven-safe skillet (cast iron recommended)
  • 1 Rimmed baking sheet lined with parchment
  • 1 Instant-read meat thermometer

Method
 

Caramelize the onions
  1. Heat 2 tablespoons butter and 1 tablespoon olive oil in a 12-inch skillet over medium-low heat; add the sliced onions and a pinch of salt and cook, stirring every few minutes, until deeply browned and sweet, about 35–45 minutes.
  2. Once onions are deeply browned, add 1 teaspoon thyme (if using) and deglaze the pan with 1/3 cup low-sodium beef broth, simmer until mostly absorbed; remove two-thirds of the onions to a bowl and reserve one-third for the meat mixture.
Make the meatballs
  1. In a large bowl combine 1 pound ground beef, the reserved one-third caramelized onions (coarsely chopped), 1 large egg, 1/2 cup breadcrumbs, 1/4 cup grated Parmesan, 2 minced garlic cloves, 1 tablespoon Worcestershire sauce, 1 teaspoon kosher salt, 1/2 teaspoon black pepper, and 1 tablespoon chopped parsley; mix gently until just combined.
  2. Form the mixture into 18 even meatballs (about 1 1/4 inches) and place on a rimmed baking sheet; chill uncovered in the refrigerator for 15 minutes.
Sear the meatballs
  1. Heat 2 tablespoons neutral oil in the same 12-inch skillet over medium-high heat until shimmering; sear meatballs in batches without crowding until browned on all sides, about 2 minutes per side, and transfer seared meatballs to the bowl with reserved caramelized onions.
Make the sauce and finish
  1. In the skillet, melt 2 tablespoons butter, stir in 1 tablespoon flour and cook 1 minute to form a roux, then slowly whisk in 2 cups low-sodium beef broth and 1/2 teaspoon Dijon mustard, scraping up browned bits.
  2. Add the reserved caramelized onions back to the skillet and bring the sauce to a gentle simmer; return meatballs to the skillet, cover, and simmer gently for 12 minutes or until an instant-read thermometer reads 160°F.
  3. Sprinkle 1 cup grated Gruyère and 1/2 cup shredded mozzarella evenly over the meatballs and place the skillet under a preheated broiler 4 inches from the heat for 2–3 minutes until the cheese is bubbly and lightly golden; let rest 5 minutes before serving.

Notes

Chill formed meatballs 15 minutes before searing to help them hold together. If you don’t have an oven-safe skillet, transfer seared meatballs to a 9×13-inch baking dish before broiling. Refrigerate leftovers up to 3 days or freeze for up to 3 months after flash-freezing.