Vegan Meatballs with Spaghetti

I understand that there's no such thing as a "vegan meatball," and that the recipe title is oxymoronic, but what else can you call this delicious vegan mixture that so closely resembles a traditional meatball?

I set out to create a great vegan meatball by first researching vegan substitutes for "meat."  It seemed like lentils and brown rice were the common starting point, with various grains and spices mixed in.  However, the vegan meatball recipes I found were really lacking in vegetables, which just seemed wrong for a vegetarian alternative, so the vegetablist in me decided to cut out some of the carbs and add some roasted vegetables and fresh herbs to the mixture.

I decided to stick with classic Italian flavors - basil, garlic, parsley - and add a little non-vegan Parmesan cheese just to get some traditional flavor.  Besides the Parmesan cheese, which is completely optional, these are vegan.  You could add an egg to the mixture, but it's not necessary to keep the meatballs together.  I made them without adding eggs and didn't have any fall apart while they were baking or when I added them to the sauce.

The meatballs are delicious, and the consistency is exactly what you would expect from a meatball. C said they could have fooled him as far as being meatless, and I really do think that they have more flavor than a lot of meatballs that I've tried. They are easy to make ahead of time, and this recipe makes enough meatballs that you can freeze some of them after baking and to have a really quick weeknight meal down the road.

Vegan Meatballs (Makes 30-35 meatballs, about 6 to 8 servings)
1 large onion, chopped
1 red bell pepper (yellow or orange work too), cored, seeded, and chopped
1 carrot, peeled and chopped
Salt and pepper
Olive oil, about a teaspoon
1 cup cooked French lentils, cooked in stock or water*
1 Tablespoon of balsamic vinegar
2 cups cooked brown basmati rice, cooked in stock or water**
1/3 cup old fashioned rolled oats
1/3 cup Panko breadcrumbs (or Italian seasoned breadcrumbs)
1/3 cup oat bran
4 cloves of garlic, roughly chopped
2 Tablespoons fresh parsley, chopped
1/4 teaspoon nutmeg
2 Tablespoons fresh basil, chopped
1 teaspoon kosher salt
Freshly ground pepper, to taste
2 Tablespoons almond milk (soy or regular work too)
Optional dairy addition: 1/4 cup grated Parmesan cheese
Optional dairy addition: 1 egg or egg white, beaten

Serving Options:
1 jar of marinara sauce, or a batch of your favorite homemade marinara sauce
Cooked whole wheat spaghetti (half a pound gave me about 3 servings - you could use a whole pound if you're using all the meatballs at once, but you will likely need more sauce)
Parmesan cheese (not vegan, but perfect for pasta)
Fresh basil, chopped

*I cooked the lentils and rice in homemade vegetable stock to add as much flavor as possible to the base of the meatball.  You can also use store-bought vegetable (or chicken) stock or water.  Cook 1/2 cup dried lentils in 1 cup of stock or water.  Bring the liquid to a boil, add the lentils, turn the heat down so that the water is just simmering, and cook partially covered for about 30 minutes.
**Cook 1 cup of brown rice in 2 cups of stock or water.  Bring liquid to a boil, add the rice, and then turn the heat to low and let the rice cook 50-55 minutes.

Preheat the oven to 425 degrees.  Prepare one half sheet pan with parchment paper or cooking spray.

1.  Add the onion, red pepper, and carrot to the prepared baking pan.  Drizzle with about a teaspoon of olive oil and sprinkle with salt and pepper.  Roast at 425 degrees for about 25 minutes, until the vegetables are very tender and slightly charred.
2.  Add the rest of the ingredients to the bowl of your food processor.  I recommend putting the vegetables in the oven first and then preparing the rest of the ingredients in the food processor while the vegetables roast.
When the vegetables are cooked and slightly cooled, add them to the bowl of the food processor with the rest of the ingredients.  Pulse the mixture just until it comes together as a dough would.
At this point, you can either turn off the oven and refrigerate the mixture until you're ready to bake the meatballs, or turn the oven temperature to 400 degrees and prepare another baking sheet with parchment paper or aluminum foil with cooking spray.

3.  The best way to form the meatballs is using a small cookie dough scoop.  It allows you to really pack the mixture together and ensures that all the meatballs are the same size, which means that they'll cook evenly.  Of course you can use a spoon and roll the meatballs in your hands if you don't have a cookie dough scoop.  Using a Tablespoon to measure will give you about the right size.  The mixture should make between 30 and 35 meatballs.  You may need a couple baking pans depending on what size pan you're working with, but you can bake them all at the same time.

4.  Bake the meatballs about 15 minutes at 400 degrees, flipping them over once halfway through the baking time.  Cook until both sides are browned and the meatballs are firm to the touch.
If you want to serve these with spaghetti, you can add the meatballs to the sauce when they are finished baking.  Coat the meatballs with sauce, and then add the pasta to the sauce so that everything is coated with tomato sauce.  I like to serve this dish with chopped basil and Parmesan cheese.
Assuming you get about six servings of meatballs (5-6 meatballs per serving), here are the nutrition facts for one serving. The meatballs are low in saturated fat, have no cholesterol, high in fiber, and very high in Vitamins A and C.  

Nutrition Facts
Serving Size 135 g
Amount Per Serving
Calories from Fat 
% Daily Value*
Total Fat 
Trans Fat 
Total Carbohydrates 
Dietary Fiber 
Vitamin A 50%Vitamin C 51%
Calcium 3%Iron 13%


  1. I'll for sure save this recipe and try making it sometime. thank you for the recipe. Looking good.

  2. can't wait to try it with my niece who loves to cook! we're also vegan. thanks- Nutti

    1. Great! I love this recipe - lots of delicious Italian flavor!