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.




These are the BEST meatballs EVER. SO filling and the sauce (Rao’s) just ties it all together.