Paleo Zucchini "Spaghetti" and Meatballs

Why This Recipe Works

Recipes for spaghetti and meatballs are fraught with nonpaleo ingredients: pasta, canned tomato sauce, bread, milk, and cheese. To devise a paleo-friendly version of this dish, we needed to successfully replace the wheat pasta, bind the meatballs, and make a hearty sauce out of fresh tomatoes. First, we tackled the meatballs. In the test kitchen, we often use a panade in meatball and meatloaf recipes to help the ground meat stay moist and hold its shape. A panade is a mixture of starch and liquid—most commonly white bread and whole milk, two nonstarters on the paleo diet. We tried making meatballs without a panade, but as expected, they turned out tough and rubbery. We tested our way through a number of binding and tenderizing options, including almond flour, coconut flour, gelatin, and boiled, pureed cashews. Coconut flour and gelatin left our meatballs spongy, but the cashew puree worked perfectly­—its neutral flavor wasn’t noticeable, and it helped the meatballs stay together and kept the meat tender. Cooking the aromatics all at once and dividing them between the meatballs and the sauce saved time and ensured that the finished dish was consistently seasoned. We found that using ripe, flavorful tomatoes was essential to the sauce’s success; we processed the tomatoes in the food processor to achieve a near-smooth consistency. To fortify our sauce, we used the fat left in the skillet from our meatballs to brown the aromatics and some tomato paste, which gave our sauce good body and depth. We then braised the meatballs in the sauce, allowing the sauce to pick up more meaty flavor. With our sauce and meatballs done, all we needed was to find the perfect substitute for spaghetti. We tested a variety of vegetables, but tasters liked spiralized zucchini for its ability to be twirled around a fork like real spaghetti. Roasting the noodles rid them of excess moisture and ensured that our sauce didn’t become watered down.


Print Shopping List

¼ cup raw cashews
3 tablespoons extra-virgin olive oil
2 onions, chopped fine
6 garlic cloves, minced
1 tablespoon dried oregano
¼ teaspoon red pepper flakes
¼ cup plus 2 tablespoons chopped fresh basil
1 large egg
Kosher salt and pepper
1 pound 85 percent lean ground beef
2 pounds tomatoes, cored and chopped
¼ cup tomato paste
3 pounds zucchini or yellow summer squash, trimmed
Nutritional Information


Per Serving (Serves 4)

  • Calories 554
  • Cholesterol 123 mg
  • Fat 34 g
  • Sodium 266 mg
  • Saturated 9 g
  • Carbs 35 g
  • Trans 0 g
  • Dietary Fiber 9 g
  • Monounsaturated 17 g
  • Sugar 19 g
  • Polyunsaturated 3 g
  • Protein 32 g

The information shown is Edamam’s estimate based on available ingredients and preparation. It should not be considered a substitute for a professional nutritionist’s advice.

Featured Equipment

From Our Shop

From Our Sponsors


Serves 4

If possible, use smaller, in-season zucchini, which have thinner skins and less seeds. This recipe calls for a 12-inch nonstick skillet; however, a well-seasoned cast-iron skillet can be used instead.

1. Bring 4 cups water to boil in medium saucepan over medium-high heat. Add cashews and cook until softened, about 15 minutes. Drain and rinse well.

2. Heat 1 tablespoon oil in 12-inch nonstick skillet over medium heat until shimmering. Add onions and cook until softened and lightly browned, 8 to 10 minutes. Stir in garlic, oregano, and pepper flakes and cook until fragrant, about 30 seconds. Transfer half of onion mixture to bowl and set aside.

3. Process remaining onion mixture, boiled cashews, 1/4 cup basil, egg, and 1 1/2 teaspoons salt in food processor to fine paste, about 1 minute, scraping down sides of bowl as needed; transfer to large bowl. Add ground beef and knead with your hands until well combined. Pinch off and roll mixture into 1 1/2-inch meatballs (you should have 12 meatballs).

4. Process tomatoes in clean, dry workbowl until smooth, about 30 seconds. Heat 1 tablespoon oil in now-empty skillet over medium heat until just smoking. Brown meatballs on all sides, about 10 minutes; transfer to plate.

5. Add reserved onion mixture and tomato paste to fat left in skillet and cook over medium heat until tomato paste begins to brown, about 1 minute. Stir in processed tomatoes, bring to simmer, and cook until sauce is thickened, about 20 minutes.

6. Return browned meatballs and any accumulated juices to skillet. Reduce heat to medium-low, cover, and simmer gently until meatballs are cooked through, about 10 minutes. Adjust sauce consistency with hot water as needed. Stir in remaining 2 tablespoons basil and season with salt and pepper to taste. (Sauce and meatballs can be refrigerated for up to 3 days or frozen for up to 1 month; gently reheat before serving.)

7. Meanwhile, adjust oven rack to middle position and heat oven to 375 degrees. Using spiralizer, cut zucchini into 1/8-inch-thick noodles, then cut noodles into 12-inch lengths. Toss zucchini with 1 teaspoon salt, 1/2 teaspoon pepper, and remaining 1 tablespoon oil on rimmed baking sheet and roast until tender, 20 to 25 minutes. Transfer zucchini to colander and shake to remove any excess liquid. Transfer zucchini to large serving bowl, add several spoonfuls of sauce (without meatballs), and gently toss to combine. Serve zucchini with remaining sauce and meatballs.

Share photos, tips, and questions about Paleo Zucchini "Spaghetti" and Meatballs with fellow fans!

Try All-Access Membership to Unlock the Comments
Don't miss the conversation. Our test cooks and editors jump in to answer your questions, and our members are curious, opinionated, and respectful.
Membership includes instant access to everything on our sites:
  • 10,000+ foolproof recipes and why they work
  • Taste Tests of supermarket ingredients
  • Equipment Reviews save you money and time
  • Videos including full episodes and clips
  • Live Q&A with Test Kitchen experts
Start Free Trial
16 days

Absolutely the best chicken ever, even the breast meat was moist! It's the only way I'll cook a whole chicken again. Simple, easy, quick, no mess - perfect every time. I've used both stainless steel and cast iron pans. great and easy technique for “roasted” chicken. I will say there were no pan juices, just fat in the skillet. Will add to the recipe rotation. Good for family and company dinners too. I've done this using a rimmed sheet pan instead of a skillet and put veggies and potatoes around the chicken for a one-pan meal. Broccoli gets nicely browned and yummy!

Absolutely the best chicken ever, even the breast meat was moist! It's the only way I'll cook a whole chicken again. Simple, easy, quick, no mess - perfect every time. I've used both stainless steel and cast iron pans. great and easy technique for “roasted” chicken. I will say there were no pan juices, just fat in the skillet. Will add to the recipe rotation. Good for family and company dinners too.

9 days

Amazed this recipe works out as well as it does. Would not have thought that the amount of time under the broiler would have produced a very juicy and favorable chicken with a very crispy crust. Used my 12" Lodge Cast Iron skillet (which can withstand 1000 degree temps to respond to those who wondered if it would work) and it turned out great. A "make again" as my family rates things. This is a great recipe, and I will definitely make it again. My butcher gladly butterflied the chicken for me, therefore I found it to be a fast and easy prep. I used my cast iron skillet- marvellous!

11 days

John, wasn't it just amazing chicken? So much better than your typical oven baked chicken and on par if not better than gas or even charcoal grilled. It gets that smokey charcoal tasted and overnight koshering definitely helps, something I do when time permits. First-time I've pierced a whole chicken minus the times I make jerk chicken on the grill. Yup, the cast iron was not an issue.