High-Protein Vegan Meatballs | More Protein than Beef & Soy Curl Based

Intro
Most plant-based meatballs fall into one of two camps: chickpea or lentil-based ones that taste great but lack any real chew, or TVP-based ones that get you the texture but come from a more processed ingredient. This recipe splits the difference — soy curls, blended down and bound with a touch of vital wheat gluten, give you that satisfying, chewy bite you'd actually expect from a beef meatball.
Why this recipe works:
- Chewy, meaty texture — no mushy chickpea filler, no chalky bite
- Minimally processed — soy curls use the whole soybean, so you keep the fiber and nutrients that get stripped out of TVP
- Versatile — steam, bake, and season however you like
We've tested a lot of plant-based meatball recipes trying to get this right, and the biggest thing we didn't want to compromise on was feeding our daughter something ultra-processed on a regular basis. Most store-bought alternatives lean on concentrated proteins, methylcellulose, and gums — not necessarily harmful, but not exactly what we want as a pantry staple either. This recipe skips all of that.
The trick is rehydrating soy curls in seasoned broth, then pulsing them in a food processor until they break down into a ground-meat-like texture — that's what gives you the bite that chickpea and lentil versions can't replicate.
Everything here is pantry-friendly, and the recipe is easy to scale up if you're meal-prepping.
Nutrition: How These Stack Up Against Beef Meatballs
The numbers here are pretty staggering. Per 100g serving, these meatballs come in at 130 calories, 15.3g of protein, 5.8g of carbs, and 3.4g of fat. The same serving of beef meatballs runs 286 calories, 22g of fat, 14.4g of protein, and 8.1g of carbs — plus 66mg of cholesterol, where ours contain none.
Where this recipe really pulls ahead is micronutrients:
- B vitamins — over 90% of the daily value across the board, except B5 (0%) and B3 (~50%) — more than double what beef meatballs offer for every B vitamin besides B5
- Folate — 77.8µg, more than twice what beef meatballs provide
- Iron — 1.9mg, slightly ahead of beef (about 0.1mg more)
- Potassium — roughly 3x what you'd get from the same serving of beef meatballs
So you're getting more protein-dense, nutrient-rich food for fewer calories, less fat, and zero cholesterol — without sacrificing the texture that makes a meatball a meatball.
Ingredient Notes
- Soy curls — the base of the recipe. Blended down after rehydrating, they give you a ground-meat texture that's hard to get from legumes. No real substitute if you're going for that chewy bite specifically.
- Vital wheat gluten — just enough to bind the blended soy curl mixture into meatballs that hold their shape through cooking.
- Nutritional yeast — adds B12 and a protein boost, plus a savory depth.
- Mushroom powder, cocoa powder, beet root powder — all optional. They round out umami flavor and color, but skipping them won't hurt the taste.
- No soy curls on hand? Textured Vegetable Protein (TVP) works as a 1:1 swap, though it's a more processed ingredient by comparison.
Tips for Success
Don't just sear these meatballs on their own — they need consistent, sustained heat to fully set in the middle, so steaming, or baking is the way to go.
- Let the soy curls fully absorb the broth before processing — too much residual liquid makes the mixture harder to shape.
- Pulse in the food processor just until no large chunks remain; over-processing can make the texture mushy.
- If baking, plan to serve with sauce — the oven method dries the meatballs out more than steaming.
- Sear for a minute or two per side after steaming for the best browned crust.
How to Store
Store cooked meatballs in an airtight container in the fridge for up to 5 days. They also freeze well — cool completely, then freeze in a single layer before transferring to a freezer bag, good for up to 3 months. Reheat gently in sauce or in the air fryer to avoid drying them out.
FAQ
Can this recipe be made gluten-free?
Yes — swap the vital wheat gluten for 2 tablespoons of cornstarch plus ¼ cup of tapioca starch or glutinous rice flour. The texture turns out a bit softer and more gummy, but the flavor holds up.
Can this recipe be made soy-free?
Not really — soy curls are the base. TVP is the closest substitute in the same quantity, though it's more processed than soy curls.
Can I customize the seasonings?
Definitely. The core of the recipe is just soy curls, vital wheat gluten (or the gluten-free swap), and no-beef or vegetable broth — everything else is there for extra flavor, nutrition, or color, so feel free to adjust to taste.
Can I just cook the meatballs in a sauce?
Unless you plan to cook your sauce for over 40 minutes we don't recommend just cooking them in a sauce because either they'll just fall apart or it will result in underdone vital wheat gluten. We recommend either steaming or baking them then adding them to the sauce in the last 5 minutes of cooking.
High-Protein Vegan Meatballs | More Protein than Beef & Soy Curl Based
These vegan meatballs use soy curls instead of chickpeas or TVP for a genuinely chewy, meaty bite — minimally processed, high protein, budget-friendly, and easy to steam, bake, or simmer in sauce.
- Prep
- 15 min
- Cook
- 30 min
- Cool
- 15 min
- Total
- 1 hr 0 min
- Servings
- 4 (3 meatballs each)
- Difficulty
- Easy
Ingredients
Core Ingredients
Optional Ingredients
Instructions
Fill the bottom of a pot fitted with a steamer basket with water and bring to a boil.
Bring 1 cup No-Beef or Vegetable Broth to a boil.
While your broth is heating, dice 1 Small Onion and 2 Garlic Cloves into very small pieces.
Add 2 cups Dried Soy Curls, 1/8+ tsp Salt, 1/8+ tsp Ground Black Pepper, then optionally 2 tbsp Nutritional Yeast, 1 tbsp Mushroom Powder, 1/2 tsp Cocoa Powder and 1/2 tsp Beet Root Powder to a bowl then stir to coat the soy curls. See notes about the optional ingredients.
Add 1 tbsp Soy Sauce to 1 cup No-Beef or Vegetable Broth then pour the liquid into the soy curl mixture and let sit for about 10 minutes to properly re-hydrate the soy curls.
While the soy curl mixture is hydrating, if using, sauté the diced onions and garlic in a pan until the onions are translucent.
Once your soy curl mixture has fully absorbed the broth, add it to a food processor/blender along with 1/2 cup Vital Wheat Gluten (see notes for GF substitution). Blend just until all the large soy curl chunks have been broken up into small pieces and the mixture starts to clump together.
Transfer the mixture back to your bowl and kneed the mixture by hand for about a minute or two to develop the glutens. Add the sautéed onions and garlic and mix by hand until fully incorporated.
Scoop some of the mixture out and form ping-pong ball sized balls. This recipe makes about 12 "meatballs".
Add the balls to the steamer basket, spaced evenly apart then put the lid on and steam for about 15 minutes, flipping about halfway through. The soy-balls will be done when they're firm to the touch.
If you want to brown your meatballs, sauté them for about a minute or two on each side, then enjoy!
Nutrition (per serving)
- Calories
- 166 kcal
- Protein
- 20.8 g
- Carbs
- 7.2 g
- Fat
- 4.2 g
- Fiber
- 5 g
- Sugar
- 1.6 g
- Sodium
- 470 mg
- Vit. B12
- 3.8 mcg
Notes & Tips
- You can substitute soy curls for textured vegetable protein (TVP) in equal parts. Rehydrate them like you would the soy curls and you can skip the blending process, since they're already small enough pieces. Keep in mind unlike soy curls which are minimally processed, TVP is an ultra-processed food rather than a whole food like soy curls, so it's important to limit the amount you consume. In our opinion it's still way healthier than the meat-based alternative for both your body and the planet though.
- To make this recipe gluten free, you can substitute vital wheat gluten for 1/4 cup tapioca starch/gluttonous rice flour, 2 tablespoons cornstarch and a binder to replace one egg like a flax egg or animal-free egg white. Keep in mind the meatballs will be more delicate than the gluten version and the final texture will be slightly gummier but it's still really good!
- All of the ingredients listed under "optional ingredients" are optional, here is what each ingredient is used for so you can decide if you want to omit:
- Nutritional Yeast: Nutrition (B vitamins) + flavor
- Soy Sauce: Flavor + color
- Mushroom Powder: Flavor + color
- Cocoa Powder: Color
- Beet Root Powder: Color
- Onion: Texture + flavor
- Garlic: Texture + flavor
- Feel free to swap in seasonings depending on what type of meatball you're making. For example, in Italian style meatballs you might want to include Italian herbs, and for Swedish meatballs you might want to include nutmeg and allspice.
You may also like
Reviews
No reviews yet. Be the first to share your experience!



