This post may contain affiliate links. Please read our disclosure policy.
It’s been a mission of mine for a while to achieve perfectly delicious, moist, and simple classic Italian meatballs that are Whole30 compliant. I think I finally found the perfect combination and they are just to die for. Plus, talk about one that the whole family can enjoy, my kids LOVE these Whole30 Italian Meatballs just as much as we do. I serve mine over zoodles, spaghetti squash, or sauteed kale while I serve my kiddos with Jovial Brown rice pasta.

I also finish cooking mine in the sauce, which contributes to their tenderness…but if you are feeling lazy and want to bake them in the oven that is totally fine. I can’t promise you that they are as good as frying them in oil.. I mean, I think that is pretty obvious; however, they’ll still be delicious!

I also make my own sauce but I highly recommend Rao’s Homemade Marinara if you are opting for store bought on a busy weeknight. It’s the ONLY store bought marinara that is of homemade quality, in my opinion!
So go make these absolutely scrumptious Whole30 Italian Meatballs and sauce to comfort the bellies of your family and friends.
looking for more meatball recipes? try these!
Meatballs with Basil and Burst Tomatoes
Easy Skillet Swedish Meatballs
Crockpot Cranberry-Orange Meatballs

Whole30 Italian Meatballs
Ingredients
For the Meatballs
- 2 pounds ground beef
- 2 eggs whisked
- 1 teaspoon kosher salt
- 1/2 teaspoon black pepper
- 1/2 teaspoon dried oregano
- 1 tablespoon freshly chopped parsley
- 2 cloves garlic minced
- 1/2 cup almond flour
- 1 tablespoon cassava flour
- 2 tablespoons olive oil for frying
For the Marinara
- 2 tablespoons olive oil
- 1/4 yellow onion finely diced
- 2 cloves garlic minced
- 1/2 teaspoon crushed red pepper flakes optional
- 1 tablespoon tomato paste
- salt and pepper to taste
- 28 ounces whole peeled tomatoes (preferably san marzano)
- 15 ounce can tomato sauce
- 1 teaspoon dried oregano
- 1/4 cup freshly chopped parsley
- 2 large basil leaves chiffonade
- 1/4 cup beef broth
Instructions
For the Sauce
- Heat 2 tablespoons olive oil in a pot over medium heat. Add onions, garlic, crushed red pepper and season with a little salt and pepper. Saute until onions are tender, about 5 minutes.
- Add the tomato paste and saute 1-2 more minutes.
- Add the whole peeled tomatoes and using a wooden spoon break up the whole tomatoes by mashing them up. They will continue to fall apart while cooking so they don’t have to be perfect. Just break them up as well as you can.
- Add in the tomato sauce, oregano, parsley, basil, beef broth and a little more salt and pepper.
- Once the sauce reaches a boil, reduce it to a slight simmer and let cook.
- Meanwhile, cook the meatballs (method below) and once the meatballs are browned, add them to the sauce (with the excess oil from the frying pan or baking sheet for extra flavor) and simmer, uncovered for 15-20 minutes with the meatballs in the sauce.
For the Meatballs
- In a large bowl, combine all of the meatball ingredients EXCEPT for the olive oil. Using your hands, mix the meat until it is well combined.
- Scoop out 2 tablespoons of meat and roll into meatballs. Set aside on parchment paper and continue to roll meatballs until all are done.
- Heat a large skillet over medium high heat. Set meatballs in the skillet (you may need to do this in 2 batches depending on the size of your skillet, don’t overcrowd the pan) and fry meatballs on 2 sides until golden brown, about 3-4 minutes per side. The meatballs don’t have to be cooked through, they will continue to cook in the sauce.
- Add browned meatballs to the sauce and let simmer until fully cooked through, another 15-20 minutes.
Notes
- To freeze, let the meatballs cool completely, then transfer it to airtight containers or freezer bags, leaving some space for expansion. Label and date the containers before placing them in the freezer.
- To thaw, place the container in the refrigerator overnight. Reheat in the oven by placing the meatballs and sauce in an oven-safe dish, covering with foil, and baking at 350°F for about 20-25 minutes, or until heated through. Tossing occasionally to ensure even heating.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.




Hello! Can these be made in the crockpot? Looking for a “set it and forget it” situation!
yes— i just like to brown the meatballs first for best flavor!
These are amazing!
Love these meatballs! This is my go to recipe for tasty Italian meatballs. I batch cook and pop in the freezer to have on hand for quick easy dinners.
hi there, i have arrowroot flour already in the pantry. can i use that or do i need to buy almond flour & cassava flour? thanks!
Almond flour/cassava flour I find to be more like ‘breadcrumbs’– but you can definitely use arrowroot flour to bind the meatballs and hold them together
How many does this serve? I couldn’t find that info anywhere but maybe I just missed it. Thanks!
Hi Alex! I am wondering what size pot you use for this recipe? Thank you!
Hi! This is a 5qt Dutch Oven
For this recipe can you just put the raw meatballs in the sauce to cook all the way instead of having to brown them first?
I find that the browning helps add flavor and hold the meatballs together.
These were delicious! I only made the meatballs and served with Rao’s jarred sauce, but my kids gobbled them up! Thanks! Great recipe!
Hi there!
Is there a way to make these 1 day in advance of when I am serving to a group? I was thinking about making the meatballs + sauce in my large enameled pot with lid, so was wondering if I could keep it in there and reheat later? Or would it be better to roll out the meatballs in advance and then bake/throw them into the premade sauce the day-of?
Thanks!
absolutely this is actually even better the next day!! cook it all the way, and yes, you can just reheat on the stovetop and let it simmer until ready to serve!
Hi, could I sub something for the cassava flour? I’m not gluten free so could I add all purpose flour or Pablo bread crumbs? I just don’t want to buy a whole package for 1 tbsp. Thanks!
yees flour or bread crumbs both would work!