These are truly THE BEST Paleo Meatballs ever. Incredibly moist and flavourful, they are just like the meatballs that my Italian grandma used to make, but thanks to a few simple tricks they are also Paleo and Whole30!

The Best Paleo Meatballs
Growing up in an Italian family, and spending quite a bit of time in Italy over the years, I like to think that I have become a bit of an expert in the world of meatballs. I have learned the difference between a good meatball and an average meatball. For me the key is not only flavour, but also texture. Ideally they should be super moist and fall apart tender.

The Best Paleo Meatballs
There are a few secrets to getting THE BEST Italian Meatballs just right. First up is the meat and a combination of types is key. Traditionally the mixture should be a blend of beef, pork and veal, but ground veal can be expensive and often hard to find, so I have included in the recipe the option of simply doubling the amount of pork.

The Best Paleo Meatballs
The other secret to super tender and moist meatballs is bread and milk. To keep this recipe grain free I had to skip the traditional method of soaking bread in milk, and instead added a combination of almond flour and almond milk, for very similar results. Although 2 cups of almond milk seems like a lot, it quickly gets absorbed into the meat and flour and will make the meat incredibly tender when cooked.

The Best Italian Meatballs
Another secret to the perfect meatball is the tomato sauce. I add a handful of the raw meat mixture to the sauce while cooking. This results in a really flavourful chunky sauce with delicious bits of crumbly meat in every bite.

Please note that this recipe makes a large amount of meatballs (50+ to be exact), but I think that the texture and flavour only improves when you freeze them in batches once cooked. They will last for over 6 months in the freezer, and they are a great easy dinner you can have ready in under 5 minutes.

The Best Paleo Meatballs

Here are a few of my other favourite Italian recipes:

If you make this recipe let me know in the comment section below, I would love to hear what you think or take a photo and tag me (@everylastbite_) on Instagram, I love seeing your photos!

The Best Italian Meatballs

Every Last Bite
They are truly the absolute best paleo Italian meatballs! Super moist, flavourful and fall apart tender!
4.59 from 17 votes
Prep Time 40 minutes
Cook Time 1 hour
Total Time 1 hour 40 minutes
Diets Dairy Free, Grain/Gluten Free, Keto, Paleo, Refined Sugar Free, SCD Legal, Whole30
Servings 50 meatballs
Calories 76 kcal



  • 750 grams ground beef
  • 500 grams ground pork or 250grams of pork and 250grams of veal
  • 4 cloves garlic finely chopped
  • 2/3 cup chopped fresh parsley
  • 1/2 tbsp chilli flakes
  • 1/2 tsp salt
  • 1/2 tsp pepper
  • 1 3/4 cups almond flour
  • 1 3/4 cups almond milk
  • 3/4 cup grated parmesan optional*

Tomato Sauce

  • 2 tbsp olive oil
  • 5 cloves garlic minced
  • 1 onion finely diced
  • 3 28 oz cans chopped tomatoes
  • 1 tsp chopped fresh oregano
  • 1 tsp chopped fresh thyme
  • 1 tsp dried basil


  • Preheat the oven to 175 degrees Celsius (350 degrees Fahrenheit)
  • In a bowl combine the ground meats, garlic, parsley, chilli flakes, salt and pepper, if using parmesan, add it in at this point too. Using your hands blend everything together so the meat is well mixed. Stir in the almond flour and then slowly add in the almond milk, half a cup at a time. It will quickly absorb into the meat. Continue mixing with your hands until all of the almond milk has been added in.
  • Roll the meat into balls approximately 1 1/2 inches in diameter and place on a parchment paper lined baking tray. Save 1 large handful of the meat mixture which will be added to the sauce later.
  • Bake the meatballs in the oven for 35 to 40 minutes, flipping half way through to ensure they brown evenly.
  • While the meatballs are cooking, make the sauce.
  • In a large pot sauté the minced garlic and onion in olive until the onion becomes translucent. Add in the saved meat mixture and using a wooden spoon break it up into a crumbly consistency. Once the meat has begun to brown, add in the canned tomatoes.
  • Allow to simmer for a minimum of 30 minutes and up to 2 hours (the longer you leave it to simmer the richer the flavours will be)
  • Add the meatballs into the sauce to coat. Freeze the sauce and meatballs together in containers. Enjoy the meatballs on their own or with spaghetti squash or zucchini noodles. Sprinkle with fresh parsley before serving.


*omit if Paleo/Dairy Free/Whole30
Calories: 76kcalCarbohydrates: 2gProtein: 7gFat: 5gSaturated Fat: 1gTrans Fat: 1gCholesterol: 18mgSodium: 101mgPotassium: 121mgFiber: 1gSugar: 1gCalcium: 49mgIron: 1mg
Tried this recipe?Leave a comment below and let us know how it was!