Cheesy French Onion Meatballs (Print Version)

Juicy beef meatballs soaked in savory onion sauce with melted Gruyère cheese, perfect for cozy dinners.

# What You'll Need:

→ Meatballs

01 - 1 lb ground beef
02 - 1/2 cup breadcrumbs
03 - 1/4 cup grated Parmesan cheese
04 - 1 large egg
05 - 2 cloves garlic, minced
06 - 1 tsp onion powder
07 - 1 tsp Italian seasoning
08 - Salt and black pepper to taste

→ Sauce and Garnish

09 - 2 tbsp olive oil
10 - 2 large onions, thinly sliced
11 - 2 tbsp unsalted butter
12 - 1 tsp granulated sugar
13 - 2 cups beef broth
14 - 1/2 cup dry white wine (optional)
15 - 1 tbsp Worcestershire sauce
16 - 1 tbsp all-purpose flour
17 - 1 cup shredded Gruyère cheese
18 - Fresh parsley, chopped (optional)

# Steps to Follow:

01 - Combine ground beef, breadcrumbs, Parmesan cheese, egg, minced garlic, onion powder, Italian seasoning, salt, and pepper in a large bowl. Mix gently until just combined to avoid tough meatballs.
02 - Form the mixture into 1-inch diameter meatballs and place them on a plate or tray while preparing to cook.
03 - Heat olive oil in a large skillet over medium heat. Add meatballs in a single layer and cook, turning occasionally, until evenly browned but not fully cooked, about 6 to 8 minutes. Remove and set aside.
04 - In the same skillet, melt butter over medium-low heat. Add sliced onions and sugar, stirring occasionally. Cook slowly until onions are golden brown and soft, approximately 15 to 20 minutes.
05 - Sprinkle flour over caramelized onions and stir thoroughly to coat. Cook for 1 minute to eliminate raw flour taste.
06 - Pour in beef broth, white wine if using, and Worcestershire sauce. Stir and scrape browned bits from the skillet bottom. Bring to a gentle simmer.
07 - Allow sauce to simmer for 5 to 7 minutes until slightly thickened and flavors meld.
08 - Return browned meatballs to the skillet, nestling them into the sauce. Spoon sauce over the meatballs to coat evenly.
09 - Cover skillet and simmer for 10 to 15 minutes until meatballs are cooked through. Stir gently halfway to ensure even coating.
10 - Preheat broiler. Sprinkle shredded Gruyère evenly over meatballs and sauce. Broil 2 to 3 minutes until cheese melts, bubbles, and turns golden. Watch carefully to prevent burning.
11 - Optionally, sprinkle chopped fresh parsley before serving to add color and freshness.

# Additional Notes:

01 - For tender meatballs, avoid overmixing the meat mixture.
02 - Caramelize the onions slowly over medium-low heat for optimal sweetness and flavor.
03 - If omitting wine, increase beef broth by 1/2 cup to maintain sauce volume.