These French onion meatballs are a high protein spin on French onion soup packed with tons of flavor! Savory Paleo meatballs are browned and cooked in a caramelized onion gravy with fresh herbs and optional cheese! Serve over your favorite potatoes or veggies for a healthy, filling and comforting meal.
French onion meatballs are the ultimate comfort food! I made this recipe so you can enjoy it no matter what your dietary needs are – gluten free, paleo and Whole30 options (just leave out the cheese!)
These juicy, tender meatballs are simmered in a rich caramelized onion gravy with all the classic flavors of French onion soup.
It’s an easy one-skillet recipe that gives you all the cozy vibes. A family-friendly dinner that’s simple enough for weeknights but impressive enough for guests!
If you love healthy comfort food recipes that don’t sacrifice flavor, these homemade French onion meatballs are a must-make.
Serve them over mashed potatoes, cauliflower mash, or roasted vegetables for a satisfying low carb and paleo meal.
Let’s get into the details so you can make these ASAP!
Ingredients You’ll Need to Make French Onion Meatballs
Meatballs:
- ground beef, or a mix of beef, pork and lamb
- egg
- blanched almond flour
- salt and pepper
- garlic powder
- onion powder
- coconut aminos
- fresh thyme leaves
- grated parmesan cheese (optional, leave out for Whole30)
- olive oil or avocado oil, for frying
Gravy:
- olive oil
- yellow or white onions
- salt and pepper
- garlic
- fresh thyme leaves
- dry white wine (leave out for Whole30)
- arrowroot or tapioca flour
- beef stock
- shredded Swiss, Gruyère or mozzarella cheese (optional, leave out for Whole30)
How to Make French Onion Meatballs
In a large bowl, place all the meatball ingredients and use your hands to mix until well combined. Form the mixture into balls, you should make about 16.
Heat a large non stick skillet oven medium high heat and add 1 tablespoon oil. Once sizzling, add the meatballs to the skillet and brown them all around.
They won’t be cooked through yet. Transfer the browned meatballs to a foil-lined bowl or baking sheet and turn off the heat.
Continued below:
Continued:
Drain excess fat and wipe the skillet clean of burnt bits. Turn the heat to medium and add the additional tablespoon of olive oil along with 2 tablespoons ghee or butter.
Add the onions to the skillet with 1 tablespoon water, and sprinkle with salt and black pepper. Cook over medium heat for 25 minutes, stirring often, until deeply caramelized.
Stir in the garlic and thyme and cook 30 seconds over medium heat, then add in the white wine and cook another 45 seconds.
Stir in the arrowroot or tapioca flour, then slowly pour in the stock while stirring to combine and allow the gravy to simmer for about 4-5 minutes.
Return the meatballs to the skillet with the gravy and cook another 5 minutes, until the meatballs are cooked through.
If using cheese, top the meatballs with shredded Swiss, Gruyère or mozzarella, covering the skillet to melt.
Variations for Paleo, Keto and Whole30 French Onion Meatballs
By omitting the cheese in the recipe, you still get the rich flavors of the french onion gravy, while also making the recipe fully paleo.
For a Whole30 friendly recipe, leave out the white wine as well as the cheese. In place of the wine, you can add a bit more broth.
I also sometimes like to add a little but of brown mustard (2 teaspoons) to Whole30 gravies and sauces to give them deeper flavor and a little bit of a kick.
To keep these meatballs paleo and Whole30, serve them over roasted or mashed potatoes, or cauliflower rice or mashed “potatoes”, to keep the meal low carb and keto.
FAQ For French Onion Meatballs
Are French onion meatballs gluten free?
Yes, as written these meatballs are gluten free and grain free!
How do you make French onion meatballs Whole30?
By leaving out the wine and cheese, the recipe is Whole30 friendly.
Can I make these meatballs dairy free?
Yes! You can definitely make these meatballs dairy free without missing out on flavor! Simply leave out the parmesan cheese in the meatballs and the shredded cheese topping.
Are these keto French onion meatballs?
With 13 grams of carbs per serving, these french onion meatballs are lower in carbs, but maybe not low enough for a very strict keto diet. If you are looking for low carb though, these meatballs fit the requirements!
Can I make them ahead of time?
Yes, this meal will save well in the refrigerator, covered, for up to 3 days. Simply heat the meatballs in the gravy on the stovetop gently until heated through. Enjoy!
French Onion Meatballs (Gluten Free, Paleo & Whole30 Option)

Ingredients
Meatballs:
- 1 lb ground beef or a mix of beef, pork and lamb
- 1 large egg
- 3 Tablespoons blanched almond flour
- 1 teaspoon sea salt
- 1/4 teaspoon black pepper
- 1 teaspoon garlic powder
- 1 teaspoon onion powder
- 2 teaspoons coconut aminos
- 1 1/2 teaspoons fresh thyme leaves
- 1/4 cup grated parmesan cheese optional, leave out for Whole30
- 1 tablespoon olive oil or avocado oil for frying
Gravy:
- 1 tablespoons olive oil
-
2
tablespoons
ghee
- 2 large yellow or white onions thinly sliced
- 1 tablespoon water
- 1/2 teaspoon salt
- 1/4 teaspoon black pepper
- 4 cloves garlic minced
- 2 teaspoons fresh thyme leaves
- 1/4 cup dry white wine leave out for Whole30
- 1 1/2 tablespoons arrowroot or tapioca flour
- 2 1/4 cups beef stock
- 2/3 cup shredded Swiss Gruyère or mozzarella cheese (optional, leave out for Whole30)
Instructions
-
In a large bowl, place all the meatball ingredients and use your hands to mix until well combined. Form the mixture into balls, you should make about 16.
-
Heat a large non stick skillet oven medium high heat and add 1 tablespoon oil. Once sizzling, add the meatballs to the skillet and brown them all around. They won’t be cooked through yet. Transfer the browned meatballs to a foil-lined bowl or baking sheet and turn off the heat.
-
Drain excess fat and wipe the skillet clean of burnt bits. Turn the heat to medium and add the additional tablespoon of olive oil along with 2 tablespoons ghee or butter. Add the onions to the skillet with 1 tablespoon water, and sprinkle with salt and black pepper. Cook over medium heat for 25 minutes, stirring often, until deeply caramelized.
-
Stir in the garlic and thyme and cook 30 seconds over medium heat, then add in the white wine and cook another 45 seconds. Stir in the arrowroot or tapioca flour, then slowly pour in the stock while stirring to combine and allow the gravy to simmer for about 4-5 minutes.
-
Return the meatballs to the skillet with the gravy and cook another 5 minutes, until the meatballs are cooked through.
-
If using cheese, top the meatballs with shredded Swiss, Gruyère or mozzarella, covering the skillet to melt.
-
To keep these meatballs grain free, serve over roasted or mashed potatoes, or cauliflower rice or mashed “potatoes” to keep it low carb and keto. Enjoy!
Nutrition
Want More Paleo Meatball Recipes? Try One of These!
Swedish Meatballs and Mashed Potatoes














Leave a Comment