This French onion soup meatballs recipe (with cauliflower mash) might be my favorite one by far. French onion soup is one of my favorite soups of all time, and we all know I love meatballs. So when you combine the two, you get this delicious, warm, and comforting dish that is perfect for any night of the week.
Typically French onion soup is topped with a piece of delicious bread and cheesy goodness, but since this is Whole30, I needed a way to beef it up somehow. Hence the meatballs, but I also wanted it to be heartier as well and that’s when the cauliflower mash comes in (if cauliflower mash isn’t your thing, you can also do mashed potatoes). Plus, if you know me, you know I love eating out of a bowl because it’s so nostalgic and comforting.
A few things about this recipe:
- Obviously, this is not authentic French onion soup. So hold off on telling me so. I’m fully aware. The flavors are there though. I promise.
- You’re going to use a lot of onions. Like, A LOT of onions. If you hate onions, this is the recipe that’s going to change your mind. Caramelized onions is a gift from heaven. I could it eat it by the spoon full. So maybe make extra so you can nosh on it.
- Typically my recipes don’t take forever, but this one requires a little more time because again, we’re caramelizing onions and that requires some time. It’s mandatory. Don’t fight me on it.
- Serving it over cauliflower mash (or mashed potatoes) isn’t necessary, but it is necessary. It really would complete the whole meal.
- If you’re not doing the Whole30 or anything, feel free to add the bread and cheesy on top and then tell me all about it. Like, really. Tell me all about it.
As always this is meal prep friendly. Just store the french onion soup meatballs separate from the cauliflower mash, and when you’re ready to eat it, assemble, heat up, and enjoy!
French Onion Soup Meatballs (Whole30, Paleo)
French Onion Soup
- 3 tbsp ghee
- 3 lbs yellow onions
- 2 garlic cloves peeled and minced
- 1 tsp dried thyme
- 2 tbsp cassava flour or arrowroot flour
- 2 cups beef bone broth more for deglazing
- 1 tbsp balsamic vinegar
- 2 tbsp Dijon mustard
- kosher salt to taste
- black pepper to taste
- 1 lb ground beef
- 1/2 lb ground pork
- 1 egg beaten
- 1/2 cup cassava flour or almond flour
- 1/4 cup caramelized onions
- 2 tsp kosher salt
- 1 tsp garlic powder
- 1 tsp dried parley
- 1 tsp dried chives
- 1 batch Instant Pot cauliflower mash
French Onion Soup
Peel the onions, cut off the root and opposite side of it, cut it half, and then thinly slice the onions.
Preheat a skillet over medium heat and melt the ghee.
Once the ghee is melted, add the onions and start caramelizing the onions. This will take about an hour or so.
Stir the onions occasionally and deglaze the skillet with a couple tablespoons of beef bone broth to ensure it doesn't dry out. You want all the dry bits and pieces for flavor!
When the onions are caramelized, set aside 1/4 cup for the meatballs.
Add the garlic, thyme, and cassava flour to the onions and stir until well combined. Add the beef bone broth, balsamic vinegar, Dijon mustard, and then bring to a boil, lower the heat, and let the soup simmer.
Preheat oven to 375F. Line a large baking sheet with parchment paper and set aside.
In a mixing bowl, add the ground beef, pork, egg, cassava flour, caramelized onions, kosher salt, garlic powder, parsley, and chives. Mix together until well combined.
Using a medium size cookie scoop, form the meatballs and line them up on the baking sheet. If you don't have a cookie scoop, create golf ball sized meatballs. You should get about 22-24 meatballs.
Bake the meatballs for 15 minutes. Remove the meatballs, add it to the French onion soup, and continue simmering the soup until the meatballs are cooked through. ~10-15 minutes.
Serve the French onion soup meatballs over cauliflower mash and enjoy!
If the soup gets too thick while simmer, add more beef bone broth to thin it out if you want it more soup like and not gravy like.
This post contains affiliate links. If you make a purchase using my links, I will receive a small commission but it will not cost you extra. Thank you for your support!