Go Back
Cheesy French Onion Meatballs

Cheesy French Onion Meatballs

Cheesy French Onion Meatballs are tender baked meatballs simmered in rich caramelized onion sauce and topped with melted Gruyère cheese.
They are hearty, comforting, and perfect for family dinners or cozy evenings at home. Serve them with crusty bread or mashed potatoes for a meal that feels extra special without being complicated.
Prep Time 50 minutes
Cook Time 1 hour
Total Time 1 hour 50 minutes
Servings: 6
Calories: 468

Ingredients
  

  • 2 pounds yellow onions about 2 large or 4 medium
  • 1 small bunch fresh thyme
  • 2 cloves garlic
  • 6 ounces Gruyère cheese divided
  • 1/2 cup panko breadcrumbs
  • 1/2 cup whole or 2% milk
  • 1 large egg
  • 2 teaspoons Worcestershire sauce
  • 2 1/2 teaspoons kosher salt divided, plus more as needed
  • 3/4 teaspoon freshly ground black pepper divided, plus more as needed
  • 1 1/2 pounds ground beef
  • 2 tablespoons unsalted butter
  • 2 tablespoons all-purpose flour
  • 1/2 cup dry white wine
  • 1 14.5-ounce can beef broth
  • 1 teaspoon balsamic or sherry vinegar
  • Crusty bread for serving (optional)

Equipment

  • Baking sheet
  • Parchment paper or silicone mat
  • Large mixing bowl
  • Knife and cutting board
  • Box grater
  • Large skillet (broiler-safe)
  • Whisk
  • Oven

Method
 

  1. Arrange one oven rack about 6 to 8 inches from the broiler and another rack in the middle. Heat the oven to 400°F. Line a rimmed baking sheet with parchment paper or a silicone baking mat.
  2. Halve and thinly slice the yellow onions. Pick enough thyme leaves to measure 2 tablespoons. Mince the garlic. Grate the Gruyère cheese and set aside.
  3. In a large bowl, combine the garlic, 2 teaspoons of the thyme, 1/4 cup of the Gruyère, panko breadcrumbs, milk, egg, Worcestershire sauce, 1 1/4 teaspoons of the kosher salt, and 1/4 teaspoon black pepper. Stir to mix. Add the ground beef and gently mix with your hands until just combined. Do not overmix.
  4. Shape into 32 to 34 meatballs, about 1 1/2 inches wide. Place them on the prepared baking sheet, spacing them slightly apart.
  5. Bake on the middle rack for 15 to 20 minutes, until browned and cooked through. The center should reach at least 165°F.
  6. While the meatballs bake, melt the butter in a large broiler safe skillet over medium heat. Add the sliced onions, 1 tablespoon of thyme, the remaining 1 1/4 teaspoons kosher salt, and remaining 1/2 teaspoon black pepper. Cook, stirring often, for 25 to 30 minutes. The onions should be very soft and deep golden brown. Lower the heat if they start to burn.
  7. Sprinkle the flour over the onions and stir well. Cook for about 1 minute until the flour lightly browns.
  8. Pour in 1/4 cup of the dry white wine. Scrape the bottom of the pan to loosen any browned bits. Let the wine cook down for about 30 seconds.
  9. Add the beef broth and whisk until smooth. Bring to a boil, then cook for 6 to 8 minutes until the sauce thickens enough to coat the back of a spoon. Remove from heat and stir in the balsamic or sherry vinegar. Taste and adjust salt and pepper if needed.
  10. Remove the meatballs from the oven and switch the oven to broil. Carefully transfer the meatballs into the skillet with the sauce. Gently stir to coat, then spread them into an even layer.
  11. Sprinkle the remaining Gruyère cheese over the top. Place the skillet on the upper rack and broil for 3 to 4 minutes, until the cheese is melted, bubbly, and lightly browned.
  12. Garnish with the remaining thyme and serve warm with crusty bread if desired.

Notes

This dish brings together deep, savory flavors with a comforting texture that feels both hearty and indulgent. It’s the kind of recipe that turns a simple dinner into something memorable.