Crusty French or Italian bread for serving(optional)
Instructions
In a skillet over medium-low heat, melt the butter.
Add the sliced onions to the pan, and cook for 30-40 minutes, stirring occasionally, until the onions are browned, softened, and caramelized.
While the onions are cooking, prepare the meatballs:
Preheat your oven to 400 degrees F and line a baking sheet with parchment or foil.
In a mixing bowl, mix together the ground beef, ¼ cup of the cheese, the panko bread crumbs, parsley, grated onion, olive oil, minced garlic, salt, and pepper until fully combined.
Separate the beef mixture into 12 equal portions and roll between your hands to create meatballs approximately 1.5 to 2 inches in diameter.
Place the meatballs at least an inch apart on your prepared baking sheet, then place into the oven and bake for 15-18 minutes or until golden brown on the outside. Remove the meatballs from the oven, and reduce the oven heat to 350 degrees.
Assemble the dish:
Pour the beef stock over the caramelized onions, and simmer, stirring slowly until the stock has reduced a little.
Remove the skillet from the heat and use a pair of tongs to gently lower the baked meatballs into the French onion mixture, nestling the meatballs around the pan between the onions.
Sprinkle the remaining shredded cheese over the meatballs, and place the skillet into the oven.
Bake for 15-20 minutes, or until the cheese is melted and bubbly.
Garnish with additional chopped parsley if desired, and serve with crusty French bread to soak up the juices.
Notes
I chose not to use egg in the meatball mixture, instead opting to bind them together with the mixture of cheese, panko, and olive oil. I feel that this gives the meatballs a much juicier, tender texture that lends itself well to this dish. If you prefer, however, you can omit the olive oil and use an egg yolk as a binder in its place.
I recommend shredding your cheese by hand whenever possible, but if needed, you can find a shredded swiss & gruyère mixture at most local grocers. Look for a variety with large, creamy shreds for best results.
If you don’t want to use a mixture of swiss & gruyère, you can use one or the other.
If needed, substitute 1 tablespoon of dried parsley in place of the fresh parsley.
To serve with a crusty French bread, such as a baguette, consider slicing the baguette on the bias. Arrange the slices on a baking sheet and drizzle with olive oil, then season with sea salt & fresh cracked black pepper. Toast in the oven for 3-5 minutes at 375°, then use the toasted slices to scoop up all of the gooey, melty cheese and sop up the stock.
These meatballs are very filling! At 1.5-2 inches in diameter, 2-3 meatballs makes the perfect serving size. If you like, you can make 18-24 smaller meatballs instead. Aim to get them to roughly 1 inch in diameter or so.
Other serving ideas: serve with mashed potatoes or polenta, or serve in a toasted sourdough bread bowl.