French Onion Cheesy Meatballs (Print Version)

# 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:

01 - Combine fresh breadcrumbs with whole milk in a dish and soak for 5 minutes to hydrate.
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.
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.
04 - With slightly dampened hands, roll each portion into compact meatballs. Arrange on a tray and refrigerate for 15 minutes.
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.
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.
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.
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.
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.
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:

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