Most vegan meatballs disappoint—either they rely on processed TVP or they fall apart the moment you touch them. These do neither. Mashed pinto beans and chickpeas combine with oat flour, ground flax, tomato paste, nutritional yeast and simple seasonings to form a scoopable, springy mixture that bakes into satisfying, plant-based meatballs. No fake-meat shortcuts, no mystery fillers—just wholesome ingredients that hold together and deliver great texture and flavor. Use them anywhere you would use classic meatballs: over zucchini noodles, in a sub, with marinara or tucked into a cozy bowl of mashed potatoes and gravy.

Ingredient Notes

- Beans: A mix of chickpeas and pinto beans gives the meatballs heft and bite. Canned beans are convenient; if using dried, use the cooked equivalent (about 3 cups total).
- Tomato paste: Adds color, umami and helps bind the mixture.
- Ground flax: A simple binder that helps the balls stay together; no need to pre-make a flax egg.
- Nutritional yeast: A dairy-free, savory boost that lends a subtle cheesy note without processed vegan cheeses.
Step by Step
Preheat the oven to 425°F and line a large rimmed baking sheet with unbleached parchment paper.

Rinse and drain the beans. If using canned beans, drain well. Place roughly 3 cups of combined beans in a large mixing bowl.

Use a potato masher or fork to mash the beans. Aim for a slightly chunky texture—some small pieces should remain for bite, but avoid whole beans.

Add the remaining ingredients to the mashed beans: tomato paste, ground flax, oat flour, olive oil, shallot, parsley, nutritional yeast and seasonings. Grate the garlic directly into the bowl for the freshest flavor.

Mix everything together with a fork or spoon until evenly combined. The mixture should be pasty but cohesive—able to hold its shape when pinched.

This recipe yields about 18 golf-ball sized meatballs. Use a cookie scoop or two tablespoons to portion the mixture. Wet your hands slightly and roll each portion into a smooth ball.

Wet hands prevent sticking and help you form even balls.

Bake on the prepared sheet for 20 minutes, then turn each meatball and bake an additional 15 minutes until golden at the edges and tender in the center.

Serve these plant-based meatballs with spiralized zucchini noodles and marinara, tuck them into a sandwich, serve over mashed potatoes with vegan gravy, or spoon them into a mushroom sauce. They’re versatile and reheat well—perfect for meal prep.
Debra’s Pro Tips

- Wet your hands before rolling to prevent sticking; this also signals the mixture has enough moisture to bind and will hold together when baked.
- If you prefer, shape the mixture into patties and bake as veggie burgers instead of meatballs.
- Make mini meatballs for appetizers and serve with toothpicks and sauce, or keep them warm in a slow cooker.
- Make very small balls and add them to soups for a plant-based twist on Italian wedding soup.
If you try this recipe, please leave a rating and a comment to let others know how it turned out. Share photos on Instagram by tagging @dkhealthcoach or using the hashtag #debraklein to show how you served your meatballs.
📖 Recipe
Bean-Based Vegan Meatballs (No TVP, No Fake Meat)
10 mins
35 mins
45 mins
Main Course
American, Italian
6
147 kcal
Equipment
- Large rimmed baking sheet
- Glass mixing bowls
- Wooden spoon or spatula
- Microplane or grater for garlic
- Potato masher
- Unbleached parchment paper
- Cookie scoop (optional)
Ingredients
- 1 can (15.5 oz) chickpeas, drained and rinsed
- 1 can (15.5 oz) pinto beans, drained and rinsed
- ¼ cup tomato paste
- ¼ cup ground flax
- ½ cup oat flour (grind rolled oats)
- 2 Tbsp extra virgin olive oil
- 4 cloves garlic, finely grated or minced
- 1 shallot, minced
- ½ cup chopped fresh flat-leaf parsley
- ¼ cup nutritional yeast
- 2 tsp Italian seasoning
- ½ tsp sea salt (adjust to taste)
Instructions
- Preheat oven to 425°F and line a large rimmed baking sheet with parchment paper.
- Rinse and drain the beans. Place about 3 cups combined beans in a large bowl and roughly mash with a potato masher or fork. Keep some small chunks for texture.
- Add tomato paste, olive oil, ground flax, oat flour, shallot, parsley, nutritional yeast, Italian seasoning, red pepper flakes and sea salt. Finely grate the garlic into the bowl and mix until evenly combined.
- Use a medium cookie scoop or two tablespoons to portion the mixture into about 18 portions. Wet your hands and roll each portion into a ball.
- Bake for 20 minutes. Turn each meatball and bake an additional 15 minutes, until the edges are crisp and centers are tender.
Notes
Nutritional information is based on this recipe making 18 meatballs with a serving size of 3 balls.
Meal Prep and Storage
- Make ahead: Prepare the mixture and refrigerate up to 2 days before shaping and baking. You can also portion and flash-freeze the raw balls for later baking.
- To store: Keep baked meatballs in an airtight container in the refrigerator for 4–5 days or freeze for up to 3 months.
- To reheat: Reheat baked meatballs in a 400°F oven for about 15 minutes until warmed through. If they’re in sauce, reheat gently on the stovetop.
- To bake from frozen: Place frozen raw balls on a parchment-lined tray. If time allows, let them thaw slightly then bake as directed. Alternatively, bake at 350°F for 30 minutes, then increase to 425°F, turn, and bake 15 minutes more until golden.
Nutrition
Serving: 3 meatless balls — Calories: 147 kcal — Carbohydrates: 13 g — Protein: 4 g — Fat: 9 g — Fiber: 4 g — Sodium: 290 mg
Note
Nutrition is estimated. For precise values, calculate using the exact brands and ingredients you use.
Please leave a review and share a photo on Instagram by tagging @dkhealthcoach or using the hashtag #debraklein so others can see your version.