Veggie Meatballs with Pasta
Hearty, plant-based meatballs made with lentils, mushrooms, and oats, simmered in a rich, garlicky tomato marinara sauce and tossed with tender spaghetti. A satisfying and wholesome Italian-American comfort food classic that comes together in under an hour.
For 4 servings
- prep
Preheat the oven and prepare the baking sheet.
Preheat the oven to 375°F (190°C). Line a baking sheet with parchment paper.
- boil · ~20 min
Cook the lentils until tender.
In a saucepan, combine the rinsed lentils with 1.5 cups of water. Bring to a boil, then reduce heat to low. Cover and let simmer until the lentils are tender and the water is fully absorbed, about 20 minutes. Let them cool slightly.
TIPMake sure the lentils are completely tender — undercooked lentils will make dry, crumbly meatballs. - saute · ~9 min
Sauté the mushrooms, onion, and garlic.
Warm 2 tablespoons of olive oil in a large skillet over medium heat. Add the finely chopped mushrooms and onion. Cook, stirring often, until the vegetables soften and release their moisture, about 6 to 8 minutes. Add the 4 cloves of minced garlic and cook for 1 more minute until fragrant. Remove from heat and let cool slightly.
- mix · ~6 min
Form the meatball mixture in a food processor.
1.In a food processor, combine the cooked lentils, the sautéed mushroom mixture, rolled oats, tomato paste, ground flaxseed, 1 pinch of salt, 1 pinch of black pepper, 0.5 tsp oregano, 0.5 tsp basil, and the crushed fennel seeds.2.Pulse until well combined but still slightly chunky — don't purée it. The mixture should hold together easily when pressed.3.Let the mixture rest for 5 minutes to allow the oats and flaxseed to bind it. - bake · ~25 min
Shape the meatballs and bake.
1.Scoop out about 2 tablespoons of the mixture and roll it between your palms to form a smooth ball. Place it on the lined baking sheet. Repeat to make about 16 to 18 meatballs.2.Bake for 15 minutes, then carefully turn each meatball over.3.Bake for another 5 to 10 minutes, until firm and lightly browned on the outside.TIPSlightly damp hands will prevent the mixture from sticking while you roll the meatballs. - saute · ~5 min
Start the marinara sauce.
While the meatballs bake, wipe out the skillet. Add the remaining 2 tablespoons of olive oil and warm it over medium heat. Add the 3 cloves of minced garlic and cook for 30 seconds until fragrant. Pour in the crushed tomatoes, 0.5 tsp oregano, and 0.5 tsp basil. Season with 1 pinch of salt and 1 pinch of black pepper. Stir and bring to a gentle simmer.
- simmer · ~10 min
Simmer the meatballs in the sauce.
Gently transfer the baked meatballs into the simmering tomato sauce. Spoon a little sauce over the top of each one. Let them simmer together for at least 10 minutes so the meatballs absorb the flavors and the sauce thickens.
- boil · ~11 min
Cook the spaghetti in salted water.
Bring a large pot of water to a rolling boil. Add 1 tablespoon of salt. Cook the spaghetti according to package directions until al dente. Reserve 1 cup of the starchy pasta water, then drain the pasta.
TIPThe starchy pasta water is liquid gold — use a splash to loosen the sauce and help it cling to the spaghetti. - assemble
Toss the pasta with the sauce and plate.
1.Add the drained spaghetti directly to the skillet with the meatballs and sauce.2.Toss everything gently to coat the pasta evenly. Add a splash of reserved pasta water if the sauce seems too thick.3.Divide the spaghetti and meatballs among four bowls. Garnish generously with torn fresh basil and serve hot.
What to keep in mind.
8 tips from the recipe — small details that make a real difference to the final dish.
- 1For the best texture, pulse the meatball mixture in the food processor until just combined but still slightly chunky, not a paste.
- 2Slightly dampen your hands with water before rolling the meatballs to prevent the mixture from sticking.
- 3Let the mixture rest for 5 minutes before shaping so the oats and flaxseed absorb moisture and bind everything together.
- 4Don't skip turning the meatballs halfway through baking — it ensures even browning and a firmer exterior.
- 5For a deeper flavor, toast the fennel seeds in a dry pan for 30 seconds before crushing and adding to the mixture.
- 6Reserve a cup of pasta cooking water before draining — a splash helps emulsify the sauce and coats the spaghetti beautifully.
- 7Baked meatballs can be cooled completely and frozen in a single layer for up to 3 months; reheat directly in simmering sauce.
- 8Make the meatball mixture a day ahead and refrigerate; the flavors will meld and the mixture becomes easier to shape.
Adapt it for your goals.
Gluten-Free
Swap the rolled oats for certified gluten-free rolled oats and use gluten-free spaghetti. All other ingredients are naturally gluten-free, making this an easy adaptation for those with gluten sensitivity.
Nut FreeNut-Free
This recipe is already naturally nut-free, but double-check that your rolled oats are processed in a nut-free facility if serving someone with severe allergies.
High ProteinHigh-Protein
Add 1/2 cup of cooked chickpeas or firm tofu to the food processor along with the lentils and mushrooms for an extra protein boost without altering the texture too much.
Oil Free (Baked)Oil-Free (Baked)
Skip the olive oil for sautéing the mushrooms and onion; instead, dry-sauté them in a non-stick pan with a splash of water or vegetable broth. Use a silicone baking mat instead of parchment for the meatballs to reduce oil further.
Spicy ArrabbiataSpicy Arrabbiata
Add 1/2 teaspoon of red pepper flakes to the sauce while simmering for a fiery kick. You can also incorporate a pinch of cayenne into the meatball mixture for extra heat from within.
Why this is on our healthy list.
Rich in Plant-Based Protein
Lentils are a powerhouse of plant protein and fiber, helping to keep you full and satisfied. Combined with oats, this dish offers a complete protein profile when paired with whole-grain pasta.
High in Dietary Fiber
Lentils, oats, and mushrooms contribute a significant amount of soluble and insoluble fiber, supporting digestive health and promoting stable blood sugar levels.
Low in Saturated Fat
This recipe uses olive oil as the primary fat source and contains no animal products, keeping saturated fat content naturally low while providing heart-healthy monounsaturated fats.
Packed with Micronutrients
Mushrooms provide B vitamins (including niacin and riboflavin) and selenium, while tomatoes offer lycopene — a powerful antioxidant. Fresh basil adds vitamin K and aromatic compounds with anti-inflammatory properties.
No Cholesterol
Since this dish is completely plant-based, it contains zero dietary cholesterol, making it a heart-friendly meal option.
Frequently asked questions
Yes, you can use one 15-ounce can of brown lentils, but make sure to drain and rinse them well, then reduce the water from the recipe entirely. Skip step 2 and simply pulse the canned lentils with the other ingredients.



