French Onion Cheesy Meatballs

Featured in: Family-Friendly Dinners Everyone Will Love

Enjoy a savory twist with tender beef meatballs simmered in a deeply caramelized onion sauce and finished under the broiler with Gruyere and mozzarella. Every bite blends rich herbs, a hint of sherry, and luscious melted cheese, delivering deep umami and comfort. Serve these golden-topped meatballs with crusty bread or over creamy mashed potatoes, making for a hearty, irresistible meal that captures the essence of French onion flavor.

A woman in a kitchen with a stove and oven.
Updated on Tue, 15 Jul 2025 22:42:29 GMT
A pan of meatballs with cheese and onions. Pin it
A pan of meatballs with cheese and onions. | cookingkitchn.com

These French onion meatballs combine all the comforting flavors of classic French onion soup with juicy, cheesy meatballs baked to perfection. It is an irresistible dinner for cozy evenings or when you are looking to impress with something a little special but completely doable at home.

I made this recipe for my best friend’s birthday dinner one chilly January night and it instantly became our go-to way to turn ground beef into something celebratory. Every time I caramelize those onions the aroma brings back memories of laughter and clinking glasses.

Ingredients

  • Fresh breadcrumbs or panko: Adds tenderness Choose a bread with good flavor and texture for crumbs
  • Whole milk: Helps keep the meatballs moist and rich Choose full-fat for best results
  • Organic ground beef 85 15 blend: Ideal fat ratio for juiciness Look for meat with a fresh color and no off smell
  • Parsley: Brings freshness Use flat-leaf if you can
  • Thyme leaves: Earthy flavor Use fresh for brightness save some for garnish
  • Herbes de Provence: French herbal blend Source a good quality dried mix
  • Salt and black pepper: Essential seasonings Taste your mix to check seasoning
  • White onion: Brings sweetness to both meatballs and sauce Pick a firm onion with no soft spots
  • Garlic: Adds deep flavor Use fresh cloves
  • Gruyere cheese: Melts beautifully Nutty flavor Grate yourself for meltiness
  • Egg: Binds everything together Use large
  • Mozzarella cheese: Creates gooey topping Whole milk yields better melt
  • Olive oil: Used for caramelizing onions and browning meatballs Choose extra-virgin
  • Ghee or butter: Gives richness and depth Unsalted is best so you control the salt
  • Sherry or white wine: For deglazing and complexity Choose drinkable quality
  • Flour: Thickens the sauce Use plain all-purpose
  • Beef stock: Forms the sauce base Choose low sodium or homemade if possible
  • Extra thyme leaves: For the finishing touch Fresh and fragrant

Step-by-Step Instructions

Prep the Meatball Mixture:
Start by soaking your breadcrumbs in whole milk for five minutes This softens the bread and ensures fluffy meatballs Place your ground beef in a large bowl and have all meatball seasonings chopped and measured
Combine and Roll:
Add the soaked breadcrumbs to the ground beef along with parsley thyme herbes de Provence salt pepper minced onion garlic Gruyere cheese and a whisked egg Mix it all together with clean hands until just combined Resist the urge to overmix as tender meatballs come from a gentle touch
Shape and Chill:
Scoop out portions about two tablespoons in size and gently roll into balls If the meat mixture is sticky wet your hands with water Arrange the meatballs on a platter then pop them in the fridge for fifteen minutes This helps them stay firm when browning
Sear the Meatballs:
Heat half of your olive oil in a large oven safe skillet over medium high When the oil is hot add a batch of meatballs Space them out and let them sear on all sides until deep golden brown about eight to ten minutes Remove to a tray and repeat as needed
Caramelize Onions:
In the same skillet add remaining olive oil plus the ghee or butter Once melted stir in the sliced onions a pinch of salt and pepper Cook slowly for at least twenty to twenty five minutes stirring frequently until ultra soft and caramel colored The slow process brings all that French onion flavor
Build the Sauce:
Stir in garlic herbes de Provence and dried thyme Cook until just fragrant then splash in sherry or wine Let it bubble for about thirty seconds to draw up any browned bits Sprinkle over flour and cook briefly followed by a steady stream of beef stock Whisk well to dissolve any flour lumps Simmer for five minutes as the sauce thickens
Bake and Broil with Cheese:
While your broiler preheats to high stir in fresh thyme leaves to the sauce Return the browned meatballs back to the pan Nestle them into the sauce Top all over with Gruyere and mozzarella Slide the skillet under the broiler until the cheese bubbles and browns slightly five to seven minutes
Serve:
Spoon generous portions of meatballs cheese and that luscious sauce over toasted bread or mashed potatoes Sprinkle with extra thyme and dig in
A pan of meatballs with cheese and herbs. Pin it
A pan of meatballs with cheese and herbs. | cookingkitchn.com

Gruyere is my favorite part here That melty nutty cheese browns beautifully and smells absolutely incredible right out of the oven Every time my mom visits she insists I double the cheese because for her there is no such thing as too much gooey cheese on top

Storage Tips

Let leftovers cool completely then store in a tightly covered container in the fridge for up to four days For longer storage freeze in portions including sauce and cheese for up to three months Reheat gently in the oven or on the stovetop adding a splash of water or broth if the sauce thickens too much

Ingredient Substitutions

Ground turkey or chicken can work instead of beef just add another splash of oil when sautéing as poultry can dry out For a lower lactose option swap in shredded Swiss or provolone for some or all of the Gruyere For a gluten free version use gluten free breadcrumbs and flour

Serving Suggestions

Serve French onion meatballs over creamy mashed potatoes or buttery noodles For a bistro feel ladle them into shallow bowls with hunks of toasted sourdough to sop up the sauce A crisp green salad with a mustard vinaigrette makes a perfect partner

Cultural Context

This recipe marries classic French onion soup with the crowd pleasing power of homemade meatballs Gruyere and caramelized onions are staples in French comfort food traditions As a child meatballs were always a favorite and discovering how to infuse them with the deep flavors of French bistro cooking felt like culinary magic

A pan of meatballs with cheese on top. Pin it
A pan of meatballs with cheese on top. | cookingkitchn.com

Frequently Asked Questions

→ How do I achieve perfectly caramelized onions?

Sauté sliced onions over medium-low heat, stirring often, for 20-25 minutes until deeply golden and jammy.

→ What cheese works best for topping?

Gruyere and whole milk mozzarella both melt beautifully and add rich flavor to the broiled meatballs.

→ Can I use ground turkey instead of beef?

Ground turkey can be substituted, though beef provides traditional richness. Adjust seasonings to taste.

→ What is the best way to serve these meatballs?

Spoon meatballs with sauce and cheese over toasted bread or creamy mashed potatoes for a comforting meal.

→ Is it necessary to chill the meatballs before browning?

Yes, chilling helps the meatballs firm up, making them easier to brown without falling apart in the pan.

→ Can I substitute sherry in the sauce?

Dry white wine works well if sherry is unavailable, adding depth to the onion sauce.

French Onion Cheesy Meatballs

Juicy beef meatballs with onion sauce and melted cheese, perfect for serving with bread or mashed potatoes.

Prep Time
30 Minutes
Cook Time
45 Minutes
Total Time
75 Minutes
By: Sophia


Difficulty: Intermediate

Cuisine: French

Yield: 6 Servings (approximately 24 medium meatballs)

Dietary: ~

Ingredients

→ Meatball Mixture

01 180 g fresh breadcrumbs or panko
02 90 ml whole milk
03 680 g organic ground beef (85/15 ratio)
04 1 tablespoon chopped fresh parsley
05 1 teaspoon fresh thyme leaves, plus extra for garnish
06 1 teaspoon herbes de Provence
07 1 teaspoon salt, or to taste
08 0.25 teaspoon freshly ground black pepper, or to taste
09 0.5 large white onion, finely minced
10 4 cloves garlic, pressed
11 55 g grated Gruyère cheese, divided use
12 1 large egg, whisked
13 100 g whole milk mozzarella cheese, shredded

→ French Onion Sauce

14 60 ml olive oil, divided use
15 30 g ghee or unsalted butter
16 2.5 large white onions, halved and sliced
17 Salt, to taste
18 Black pepper, to taste
19 4 cloves garlic, pressed
20 1 teaspoon herbes de Provence
21 1 teaspoon dried thyme
22 60 ml dry sherry or white wine
23 12 g all-purpose flour
24 530 ml beef stock
25 2 teaspoons fresh thyme leaves

Instructions

Step 01

Combine fresh breadcrumbs with whole milk in a dish and soak for 5 minutes to hydrate.

Step 02

Place ground beef into a large mixing bowl. Add the soaked breadcrumbs, parsley, thyme, herbes de Provence, salt, black pepper, minced onion, pressed garlic, 1/4 of the grated Gruyère, and whisked egg.

Step 03

Gently mix everything by hand until evenly incorporated, taking care not to overwork the mixture. Portion out by 2-tablespoon scoops and place on a tray.

Step 04

With slightly dampened hands, roll each portion into compact meatballs. Arrange on a tray and refrigerate for 15 minutes.

Step 05

Heat 2 tablespoons olive oil in a large oven-safe skillet over medium-high heat. Working in batches, sear meatballs on all sides for 8–10 minutes total until browned. Transfer browned meatballs to a tray.

Step 06

In the same skillet, add remaining 2 tablespoons olive oil and the ghee or butter. Once melted, add sliced onions with a pinch of salt and pepper. Cook over medium-high heat, stirring frequently, until deeply caramelized and jammy, about 20–25 minutes.

Step 07

Stir in pressed garlic, herbes de Provence, and dried thyme; cook just until fragrant (30 seconds). Pour in sherry or wine and let it reduce for 30 seconds.

Step 08

Sprinkle in flour, mix well for 30 seconds, then gradually stir in beef stock until smooth. Simmer for 5 minutes to thicken, then remove from heat and stir in fresh thyme leaves.

Step 09

Return browned meatballs to the pan, nestling them in the sauce. Scatter the remaining Gruyère and all the shredded mozzarella over the meatballs. Place skillet under a preheated broiler set to high and broil for 5–7 minutes, until cheese is melted and golden.

Step 10

Garnish with additional thyme leaves. Serve 3–4 meatballs per portion, spooned with generous sauce and cheese, accompanied by toasted bread or creamy mashed potatoes, if desired.

Notes

  1. For best results, allow the onions to fully caramelize to develop rich, sweet flavor.
  2. Prepare all components ahead of time for smooth execution.
  3. The dish pairs beautifully with toasted sourdough or creamy mashed potatoes.

Tools You'll Need

  • Large mixing bowl
  • Large oven-safe skillet or cast iron pan
  • Tray or platter
  • Garlic press
  • Broiler
  • Whisk

Allergy Information

Please check ingredients for potential allergens and consult a health professional if in doubt.
  • Contains dairy (milk, cheese, butter)
  • Contains gluten (breadcrumbs, flour)
  • Contains egg

Nutrition Facts (Per Serving)

It is important to consider this information as approximate and not to use it as definitive health advice.
  • Calories: 520
  • Total Fat: 33 g
  • Total Carbohydrate: 23 g
  • Protein: 33 g