
This French onion chicken meatball recipe transforms the beloved flavors of French onion soup into a hearty, protein-packed meal that delivers all the comfort without the fuss. The tender chicken meatballs are bathed in a rich, caramelized onion sauce and topped with gooey melted cheese for an irresistible dinner option.
I first made these meatballs when I was craving French onion soup but needed something more substantial for dinner. My family was so impressed with how the familiar flavors transformed into something entirely new that it quickly became part of our regular rotation.
Ingredients
- Ground chicken: Provides a lighter alternative to beef while still delivering wonderful flavor and texture
- Almond meal: Keeps the recipe gluten free while binding the meatballs perfectly
- Parmesan cheese: Adds saltiness and depth to the meatballs
- Yellow onions: Caramelize beautifully creating the signature French onion flavor base
- Gruyère cheese: Offers that authentic nutty flavor that's essential for French onion anything
- Havarti cheese: Melts exceptionally well creating that irresistible cheese pull
- Beef broth: Enhances the savory depth even though we're using chicken meatballs
- Fresh thyme: Brings brightness and herbal notes that balance the rich flavors
Step-by-Step Instructions
- Prepare the meatball mixture:
- Combine all meatball ingredients in a large bowl using gentle hands to mix everything thoroughly without overworking the meat which could make your meatballs tough. The mixture should be cohesive but still somewhat loose.
- Form and bake the meatballs:
- Use a 1½-inch scoop to ensure uniform size which guarantees even cooking. Place them on a parchment-lined baking sheet with a bit of space between each one to allow for proper browning. Bake until they reach 165°F which typically takes about 15 to 20 minutes.
- Caramelize the onions:
- This is where patience really pays off. Cook the sliced onions slowly in butter and olive oil for the full 25 minutes stirring occasionally to prevent burning. You want them deeply golden and incredibly soft which develops that signature sweet caramelized flavor that makes French onion so special.
- Create the sauce:
- After adding garlic briefly to prevent burning pour in the beef broth and seasonings. Allow the mixture to reduce slightly which concentrates the flavors and creates a sauce that will cling beautifully to the meatballs.
- Combine and finish with cheese:
- Nestle the baked meatballs into the sauce allowing them to simmer briefly to absorb the flavors. The final step of melting both cheeses over the top creates that classic French onion experience with every bite.

The caramelized onions are truly the heart of this recipe. I've found that taking the full time to develop their flavor transforms this from a good dish to an exceptional one. My daughter who typically avoids onions entirely devours these meatballs because the long cooking process removes any sharpness and creates such incredible sweetness.
Make Ahead Options
These meatballs are perfect for meal prep. You can prepare the entire dish up to the point of adding cheese then refrigerate for up to 3 days. When ready to serve simply reheat gently on the stovetop until the meatballs are warmed through then add the cheese and cover until melted. The flavors actually develop beautifully with time making this dish even better the next day.
Serving Suggestions
While these meatballs are substantial enough to stand alone as a main course they pair wonderfully with several sides. Serve them over creamy mashed potatoes or cauliflower mash to soak up the delicious sauce. A simple green salad with a bright vinaigrette provides a refreshing contrast to the rich flavors. For a low-carb option consider zucchini noodles or sautéed green beans as accompaniments.
Ingredient Substitutions
If you're not concerned about keeping the recipe gluten free regular breadcrumbs work perfectly in place of almond meal. Ground turkey can substitute for chicken with nearly identical results. For the cheese Swiss makes a good alternative to Gruyère while mozzarella can replace the Havarti though you'll lose some of the distinctive flavor. Vegetable broth can work instead of beef broth but consider adding a teaspoon of Worcestershire sauce to maintain depth of flavor.
Frequently Asked Questions
- → Can I use ground turkey instead of chicken?
Yes, ground turkey can be substituted for chicken. It might alter the flavor slightly but works just as well.
- → How can I make it gluten-free?
Use almond meal instead of breadcrumbs in the meatball mixture for a gluten-free version.
- → What other cheeses can I use if Gruyère and Havarti are not available?
You can substitute Gruyère and Havarti with mozzarella, Swiss, or even Provolone for a similar creamy texture.
- → Can I prepare the meatballs ahead of time?
Yes, you can prepare the meatballs and refrigerate them. Reheat them in the sauce before serving.
- → How do I avoid burning the onions while caramelizing?
Cook the onions on medium heat and stir frequently to ensure even cooking and prevent burning.