Whole30 Spaghetti and Meatballs served over zucchini noodles in a white bowl on a white tablecloth.

Whole30 Spaghetti and Meatballs

These Whole30 Spaghetti and Meatballs are a Whole30-compliant and paleo twist on the classic comfort food. Complete with meaty, flavorful meatballs and "al dente" zucchini noodles, this recipe is the real deal. Pork and beef meatballs are made first, then cook low and slow in homemade sauce. Toss the zucchini spaghetti into the sauce, then serve everything together. Bursting with flavor, this Whole30, paleo dinner is perfect for the whole family.
Course Main Course
Cuisine American, Low Carb, Whole30
Keyword healthy, low carb, meatballs, whole30, whole30 dinner, zoodles, zucchini
Prep Time 25 minutes
Cook Time 20 minutes
Simmering time 2 hours
Total Time 45 minutes
Servings 8 servings
Calories 429 kcal
Author Erin of The Speckled Palate


For the “spaghetti”:

  • 4 zucchini medium
  • ½ tablespoon kosher salt

For the meatballs:

  • 2 tablespoons extra virgin olive oil
  • 1 lb. 85% lean ground beef
  • 1 lb. 93% lean ground pork
  • 1.5 cups onion chopped (about 1 large onion)
  • 3 large garlic cloves minced
  • ½ cup almond meal
  • 1 egg
  • 2 teaspoons fresh basil or 1 teaspoons dried
  • 2 tablespoons fresh oregano or 1 tablespoon dried
  • 1 teaspoon black
  • pepper
  • freshly ground
  • 2 teaspoons kosher salt
  • ¾ teaspoon red pepper flakes
  • ½ teaspoon fennel

For the sauce:

  • Cooking fat from the meatballs
  • 1 small onion diced
  • 2 garlic cloves minced
  • 28 oz. tomato puree
  • ½ cup water
  • 2 tablespoons dried oregano or 4 tablespoons fresh
  • 1 teaspoon black pepper freshly ground
  • 1 teaspoon red pepper flakes
  • 2 teaspoons kosher salt


Make the Meatballs + Sauce

  1. Heat a Dutch oven over medium-high heat with a tablespoon or two of oil.
  2. In a large glass bowl, combine the ground beef and pork. Add in the chopped onion, garlic cloves, almond meal, egg and spices.

  3. Using your hands, mix the meatball ingredients until combined.
  4. When the meatballs have been combined, use a ¼ cup measuring cup to measure out the meatballs. Scoop the meatballs, then form them into balls with your hands.
  5. When the meatballs have been formed, place them in the Dutch oven. (I like to do the meatballs in two batches so the pan doesn’t get crowded.)
  6. Sear the meatballs on all sides.
  7. When the meatballs are browned on all sides, remove from the pan, and place onto a plate lined with paper towels to soak up any excess fat. Repeat until all meatballs have been cooked.
  8. Use the leftover fat in the Dutch oven to cook the sauce. Turn down the heat to medium-low.
  9. Add the onion and garlic to the Dutch oven. Cook until the onion becomes translucent.
  10. Add the tomato puree and water to the pan. Season with the oregano, peppers and salt.
  11. Turn down the heat to low.
  12. Add the meatballs back into the sauce and simmer for 1-2 hours.

Make the “Spaghetti”

  1. While the sauce simmers, it’s time to make the zucchini noodles.
  2. Using the Spiralizer with the spaghetti cut attachment (or a vegetable peeler), spiralize the zucchini.
  3. Sprinkle the spiralized zucchini with salt.
  4. Let the zoodles sit for an hour. (The salt will pull water from zucchini, and they’ll be crispier!)
  5. After an hour, pat dry zucchini with paper towels.
  6. Toss in the sauce to cook just slightly, then serve with the meatballs.

Recipe Notes

Recipe adapted from my Spaghetti and Meatballs (

Nutrition Facts
Whole30 Spaghetti and Meatballs
Amount Per Serving
Calories 429 Calories from Fat 252
% Daily Value*
Fat 28g43%
Saturated Fat 8g50%
Cholesterol 99mg33%
Sodium 1722mg75%
Potassium 1117mg32%
Carbohydrates 19g6%
Fiber 5g21%
Sugar 9g10%
Protein 25g50%
Vitamin A 885IU18%
Vitamin C 32.3mg39%
Calcium 101mg10%
Iron 4.8mg27%
* Percent Daily Values are based on a 2000 calorie diet.