The Best Vegan Meatballs Recipe
Introduction
These vegan meatballs are packed with rich flavor and a satisfying texture, making them a perfect plant-based alternative to traditional meatballs. Made with soy curls, beans, and vital wheat gluten, they hold together well and work wonderfully in pasta dishes, sandwiches, or as a protein-packed snack.

Ingredients
- 1 cup (28 g) soy curls
- 1/2 cup (105 g) cooked white navy beans
- 3 tbsp (45 ml) oil
- 1 tbsp (7 g) nutritional yeast
- 1 tbsp (15 ml) soy sauce
- 1 tbsp (12 g) sugar
- 1 tsp onion powder
- 1/4 tsp smoked paprika
- 1/2 tsp (2 ml) dark soy sauce
- 1/4 tsp (1 ml) vegan Worcestershire sauce (optional)
- 1/8 tsp liquid smoke
- 1/4 cup (60 ml) water
- 1/2 cup (68 g) vital wheat gluten
Instructions
- Step 1: Rehydrate the soy curls by placing them in a bowl and covering with hot water. Let them sit for 15-20 minutes.
- Step 2: Drain and rinse the soy curls under cold water to remove any soybean flavor. Squeeze out most of the moisture using your hands.
- Step 3: In a food processor, combine the cooked white beans, oil, nutritional yeast, soy sauce, sugar, onion powder, smoked paprika, dark soy sauce, Worcestershire sauce (if using), liquid smoke, and water. Process for 15-20 seconds until smooth.
- Step 4: Add the rehydrated soy curls to the food processor and pulse for 4-6 seconds until the mixture resembles a bolognese sauce. The soy curls should be finely chopped but still retain some texture.
- Step 5: Transfer the mixture to a large bowl and stir in the vital wheat gluten using a spatula or your hands until it forms a paste similar to ground meat.
- Step 6: Divide the mixture into 1.5 tablespoon-sized portions using a measuring spoon or cookie scoop. Roll each into a ball and place them in a steamer.
- Step 7: Steam the meatballs for about 50 minutes using an Instant Pot or a bamboo steamer over boiling water.
- Step 8: Remove the meatballs from the steamer and allow them to cool for at least 15 minutes. They are now ready to be sautéed or added directly to your favorite dishes.
Tips & Variations
- For gluten-free meatballs, substitute vital wheat gluten with ground oats and chickpea flour, but note the texture will be different.
- Adding fresh herbs like parsley or basil can enhance the flavor.
- If you don’t have a steamer, bake the meatballs at 350°F (175°C) for 25-30 minutes, turning halfway through.
- Use your favorite tomato sauce or BBQ sauce for serving to change up the flavor profile.
Storage
Store cooked meatballs in an airtight container in the refrigerator for up to 4 days. They can also be frozen for up to 3 months—freeze them on a tray first, then transfer to a sealed bag or container. Reheat gently in a pan with a little oil or in a covered microwave-safe dish.
How to Serve

Serve this delicious recipe with your favorite sides.
FAQs
Can I use dried beans instead of canned?
Yes, just make sure to cook the dried beans fully until tender before using. This will ensure they blend smoothly and contribute to the right texture.
What if I don’t have soy curls?
You can substitute with textured vegetable protein (TVP) or finely chopped mushrooms for a similar texture, though it may slightly alter the flavor and firmness.
PrintThe Best Vegan Meatballs Recipe
These vegan meatballs are a delicious and hearty plant-based alternative that combines rehydrated soy curls, cooked white beans, and vital wheat gluten for the perfect texture. Steamed to perfection and bursting with umami flavors from soy sauce, nutritional yeast, and smoked paprika, they offer a savory, meat-like experience ideal for any vegan meal.
- Prep Time: 25 minutes
- Cook Time: 50 minutes
- Total Time: 1 hour 15 minutes
- Yield: Approximately 20 meatballs 1x
- Category: Main Dish
- Method: Steaming
- Cuisine: Vegan, Plant-Based
- Diet: Vegan
Ingredients
Main Ingredients
- 1 cup (28 g) soy curls
- 1/2 cup (105 g) cooked white navy beans
- 3 tbsp (45 ml) oil
- 1 tbsp (7 g) nutritional yeast
- 1 tbsp (15 ml) soy sauce
- 1 tbsp (12 g) sugar
- 1 tsp onion powder
- 1/4 tsp smoked paprika
- 1/2 tsp (2 ml) dark soy sauce
- 1/4 tsp (1 ml) vegan worcestershire sauce (optional)
- 1/8 tsp liquid smoke
- 1/4 cup (60 ml) water
- 1/2 cup (68 g) vital wheat gluten
Instructions
- Rehydrate the soy curls: Add the soy curls to a bowl and cover them with hot water. Let the soy curls rehydrate for 15-20 minutes until softened.
- Drain and rinse: Drain the soy curls and rinse them a couple of times under cold water to remove the soybean flavor. Squeeze the soy curls by hand to remove as much moisture as possible.
- Process other ingredients: Add the cooked white beans, oil, nutritional yeast, soy sauce, sugar, onion powder, smoked paprika, dark soy sauce, vegan Worcestershire sauce, liquid smoke, and water to a food processor. Process for 15-20 seconds until smooth.
- Add soy curls to processor: Add the rehydrated soy curls and pulse for another 4-6 seconds. The mixture should resemble a chunky bolognese sauce with finely chopped soy curls, retaining texture but not fully pureed. Transfer the mixture to a large mixing bowl.
- Add vital wheat gluten: Add the vital wheat gluten to the mixture and mix thoroughly with a spatula or your hands until it forms a sticky paste similar to ground meat.
- Form balls: Using a 1.5 tablespoon-sized scoop or measuring spoon, divide the mixture and shape into balls by hand. Place the formed balls into a steamer basket.
- Steam the meatballs: Using an Instant Pot with a steaming rack or a bamboo steamer over boiling water, steam the meatballs for about 50 minutes, ensuring they cook through and firm up.
- Cool and prepare: Remove the steamed meatballs from the steamer and allow them to cool for at least 15 minutes before handling. Optionally, sauté them in a pan to add a crispy texture before serving or using in your favorite recipes.
Notes
- Be sure to squeeze out excess water from the soy curls to avoid a soggy texture.
- Steaming is the primary cooking method, but pan-frying after steaming adds a nice browned exterior.
- Vital wheat gluten is essential for the meat-like texture; omit this to make gluten-free variations but texture will differ.
- Adjust seasonings to taste, especially soy sauce and smoked paprika for umami depth.
- Leftover meatballs can be stored in the refrigerator for up to 3 days or frozen for longer storage.
Keywords: vegan meatballs, soy curls recipe, plant-based protein, steamed vegan meatballs, meat alternative

