French Onion Soup Meatballs
Rebecca Blumer
These French Onion Soup Meatballs combine tender beef meatballs, a rich gravy made with deeply caramelized onions, and a bubbly, melted Gruyère cheese topping. It's a cozy skillet dinner.
Prep Time 10 minutes mins
Cook Time 1 hour hr
Total Time 1 hour hr 10 minutes mins
Course Appetizer, Main Course
Cuisine American, French
Servings 4 servings
Calories 654 kcal
For the onions
- 1 tablespoon olive oil or avocado oil
- 2 large sweet white onions, thinly sliced
- 3 cloves garlic, thinly sliced
- 2 bay leaves
- 1 teaspoon thyme leaves
- 1/3 cup dry white wine
- 2 tablespoons unsalted butter
For the meatballs
- 1 lb ground grass-fed beef
- 1 large egg
- 1/2 cup almond flour (or gf breadcrumbs)
- Sea salt and black pepper to taste
For the sauce
- 1 tablespoon gluten-free flour (or sub regular flour if not gluten-free)
- 2 cups chicken broth
- 1 teaspoon dijon mustard
- 1 teaspoon Worcestershire
- 6 ounces gruyere cheese
To cook the onions
Warm the oil in a large oven-safe skillet over medium heat, then add the onions, garlic, bay leaves, and a pinch of salt and cook for about 45 minutes, stirring often. The onions should become deeply golden brown, jammy, and much smaller in volume rather than simply soft.
Stir in the thyme and black pepper and cook for about 1 minute. You should smell the herbs bloom quickly without the pan drying out.
Pour in the white wine and add the butter, then scrape the skillet to loosen the browned bits stuck to the bottom. A fragrant burst of steam means all that built-up flavor is moving into the pan sauce.
Transfer the onions from the skillet, remove the bay leaves, and let the mixture cool a bit. The onions should still look glossy and soft enough to chop easily.
Rinse and wipe out the skillet, then keep it nearby for the meatballs. A clean pan helps the meatballs brown instead of steaming.
Make the meatballs
Combine the ground beef, egg, almond flour or breadcrumbs, salt, and pepper in a large bowl. The mixture should look evenly seasoned before you add the onions.
Roughly chop about 1/3 of the cooled onions and add them to the bowl. This gives the meatballs onion flavor throughout instead of only in the sauce.
Mix with clean hands just until everything comes together. Stop once the mixture holds together, since overworking it can make the meatballs dense.
Shape the mixture into 12 meatballs about 1 1/2 inches wide and set them aside. Keeping them close in size helps them cook at the same pace.
Heat 2 tablespoons of olive oil in the reserved skillet over medium-high heat. The oil should look hot and fluid before the meatballs go in.
Sear the meatballs with space between them for 10 to 12 minutes, turning so they brown on all sides. Let them develop a dark crust, because that deep browning adds a lot of flavor to the finished sauce.
To combine the dish and finish up
Sprinkle the flour over the meatballs and turn them gently for about 1 minute so the flour cooks in the pan. The coating should lose its raw look and lightly cling to the meatballs.
Add the chicken broth, the remaining onions, mustard, and Worcestershire. The skillet should look loose and brothy at first, which is exactly right.
Simmer the meatballs in the sauce for about 10 minutes, stirring gently as needed. The sauce is ready when it looks slightly darker, lightly thickened, and glossy enough to coat a spoon.
Set the broiler to low. Have the skillet positioned so the cheese can melt quickly without overcooking the meatballs.
Scatter the gruyere over the meatballs and sauce, then broil for about 2 minutes. The cheese should melt fully and turn bubbly with a little browning at the edges.
Serve the meatballs hot with toasted baguette slices or on their own, and add more thyme if you like. The best texture is saucy underneath with gooey cheese over the top.
Don’t rush the onions: Properly caramelized onions are key to the deep, soup-like flavor. They should be jammy, deeply golden, and significantly reduced in volume, which takes time.
Sear for flavor: Let the meatballs develop a dark brown crust when searing. This deep browning adds a lot of savory flavor to the finished sauce.
Thickening the sauce: If the sauce seems thin, simmer it for a few more minutes to let it reduce naturally. For more help, whisk 1 tbsp cornstarch with 2 tbsp cold water and add a little at a time until thickened.
Storage: Store leftovers in an airtight container in the refrigerator. Reheat gently on the stovetop, adding a splash of broth to loosen the sauce if it has thickened.
Nutrition information is an estimate based on common ingredients and serving sizes. Values may vary depending on brands, portions, and substitutions.
Keyword Comfort Food, French Onion Soup Meatballs, skillet dinner