How to make the best vegetarian meatballs without fake meat

Vegetarian meatballs
Saucy and savory, these vegetarian meatballs taste great with spaghetti.
(Mariah Tauger / Los Angeles Times)

These as-good-as-the-real-thing meatballs contain no beef or pork — and no fake meat either.

It was the lab-grown meat substitutes invading our lives that led me to beetballs. I knew corporate near-meat would double well for meatball meat (it works for burgers and chili), but I still don’t know what those products are like for our bodies.

So, going back to my fundamental belief that whole actual-plant ingredients are healthier and better for flavor, I cooked. And, after a little work, I stumbled onto these, yes, beetballs. They look just like meatballs. They taste … possibly better than meatballs?


The practical info: These are best with homemade roasted beets, but store-bought presteamed beets in the produce section are a speedy substitute. Lentils add protein and an earthy heartiness, while sunflower seeds bring a nubby texture reminiscent of browned ground beef.

Capturing the meaty umami depth of beef is tougher but doable. Here, it comes through lightly caramelized onions, deeply toasted bread crumbs and nutritional yeast and in the cooked-down tomato sauce that coats them. Essential Italian seasonings bring all the flavors together: dried herbs and fresh basil plus garlic with chile flakes sizzled in olive oil. If cheese is on the menu, you’ll want to go hard on the Parmesan. The finished dish doesn’t just look like the Italian American restaurant standard, it tastes like it too.

The result: [chef’s kiss emoji]

Spaghetti and “meat”balls

1 hour. Makes about 30 balls; serves 6.

My favorite vegetarian meatballs are neither smooth nor bouncy, so I stop short of over-chopping the ingredients. That means binding all the little bits together with egg to ensure balls you can spear with a fork. If you’d like to make them vegan, omit the eggs and pulse all the ingredients together into a paste; the balls will hold together after baking and simmering in sauce but will be softer in texture.

Steamed lentils and beets are available in the produce section of most supermarkets. Use your favorite marinara sauce here, jarred or homemade.


  • ¼ cup everyday extra-virgin olive oil, plus more
  • 1 small yellow onion, finely chopped
  • Kosher salt and freshly ground black pepper
  • 4 garlic cloves, finely chopped
  • 2 teaspoons dried Italian seasoning
  • ¼ to ½ teaspoon crushed red chile flakes
  • 1 cup panko breadcrumbs
  • ¼ cup nutritional yeast
  • ¾ cup raw sunflower seeds
  • 1 cup packed fresh basil leaves
  • 8 ounces roasted or steamed beets (1 ½ cups), patted dry if needed
  • 1 cup steamed lentils, drained if needed
  • 1 large egg plus 1 large egg white
  • 4 cups marinara sauce
  • 1 pound spaghetti
  • Parmesan cheese, for serving (optional)


  1. Heat the oil in a large, deep skillet over medium-high heat. Add the onion, season with salt and pepper and cook, stirring occasionally, until browned around the edges, 5 to 7 minutes. Add the garlic, Italian seasoning and chile flakes and cook, stirring, for 1 minute. Add the panko and cook, stirring, until evenly dark golden brown, 3 to 4 minutes. Remove from the heat and stir in the nutritional yeast until evenly mixed. Transfer the mixture to a large bowl to cool. Reserve the skillet without washing.
  2. Heat the oven to 425 degrees. Line a half-sheet pan with foil and drizzle with oil to generously coat. There should be a thin sheen covering the entire surface.
  3. (As you chop the following ingredients in a food processor, you don’t need to wash the processor bowl between each.) Pulse the sunflower seeds in a food processor until half are powdery like cornmeal and the remaining are finely chopped; transfer to the bowl with the onion mixture. Pulse the basil in a food processor until very finely chopped; transfer to the bowl. Pulse the beets in the processor until half the mixture is pasty and half is finely chopped; transfer to the bowl. Pulse the lentils until nearly smooth with some chopped lentils remaining; transfer to the bowl. Stir well until everything is evenly mixed. Taste a spoonful and add more salt and pepper to taste.
  4. Add the egg and egg white to the mixture and stir until everything is evenly distributed. Using a 1 ½-tablespoon cookie scoop or a measuring tablespoon, scoop the mixture (heaping, if using the measuring spoon) and form into balls. Put the balls on the prepared pan, drizzle with oil to lightly coat the tops and sprinkle with salt and pepper. Bake until dark golden brown, 20 to 25 minutes.
  5. . Meanwhile, heat the marinara sauce in the reserved skillet over medium heat until bubbling. Reduce the heat to low to maintain a light simmer. Bring a large pot of salted water to a boil.
  6. . When the balls are done, carefully transfer them to the simmering marinara and turn to evenly coat. Drop the spaghetti in the boiling water and cook according to the package’s directions for al dente. You can simply drain the spaghetti and top with the balls and sauce or cook them together to meld the flavors: A few minutes before the spaghetti is done, use a spoon to transfer the balls to their roasting pan; keep the sauce simmering. Reserve ½ cup pasta cooking water and drain the pasta. Immediately transfer the spaghetti to the simmering sauce. Carefully toss to evenly coat, adding pasta water a few spoonfuls at a time if the sauce is too thick to coat the noodles.
  7. . Divide the sauced spaghetti among serving dishes and top with the balls. Drizzled with olive oil, then grate Parmesan on top if desired and serve immediately.

Meatball Sub: Substitute 4 hero rolls for the spaghetti. Split them, drizzle with oil, and top with sliced mozzarella or vegan mozzarella. Toast them open-faced in a toaster oven or 375-degree oven until the cheese melts, then top with the hot sauce-coated beetballs and extra sauce. Grate Parmesan on top if desired.


Make ahead: The uncooked beetball mixture can be refrigerated in an airtight container for up to 2 days before roasting. The cooked beetballs in sauce can be refrigerated in an airtight container for up to 3 days.