Zucchini “Spaghetti” and Meatballs


Serves 4

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.

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/4 cup raw cashews
3 tablespoons extra-virgin olive oil
2 onions, chopped fine
6 garlic cloves, minced
1 tablespoon dried oregano
1/4 teaspoon red pepper flakes
1/4 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
1/4 cup tomato paste
3 pounds zucchini or yellow summer squash, trimmed

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.

➜ View more kitchen-tested paleo recipes