These vegan black bean meatballs are simple to prepare, packed with protein, and taste delicious served alongside this aromatic curry gravy or with tons of other dishes. Plus, this recipe is gluten-free, dairy-free, nut-free, and perfect for a simple mid-week meal or meal-prep, to be frozen!
Hearty, Healthy Black Bean Meatballs
Whether you’re vegan, vegetarian, flexitarian, or just want a simple recipe for ‘Meatless Mondays,’ these black bean meatballs may just be exactly what you’re looking for. They are made from a combination of black beans, sunflower seeds, oats, and several herbs, spices, and seasonings (but are also super versatile to substitutions and variations!).
Not only are these vegan meatballs packed with protein, but they’re flavorful with a firm, crispy outside and tender middle. Having experimented with several vegetarian meatball recipes, I found the biggest issue with any meatless meatballs is avoiding crumbling, and a gummy texture, while achieving enough ‘bite’ to mimic that firm but tender texture you want from a meatball. Luckily, these tick all the boxes!
Want to know the secret to delicious meat-free meatballs (or one of them, at-least)? It’s all in the seasoning! The ingredients list for this recipe may seem quite long at first glance. However, you will likely have the majority of the herbs/spices already in your kitchen. There’s nothing worse than spending the time to blend, fry, and bake a batch of any meat alternative and finding it lacking in seasoning – don’t worry, I’ve been there!
When served alongside a creamy, rich, dairy-free curry gravy (recipe also below!) and some Mashed Potatoes, you’ll have a delicious bowl of healthy, flavor-packed comfort food at its finest. However, if gravy isn’t what you’re in the mood for, then these black bean meatballs pair well with tons of meals. Just check out my ‘how to serve’ section below for several of my favorite ideas.
How To Make Vegan Meatballs?
For The Black Bean Meatballs
Step 1: Add all of the meatball ingredients (except the oil) to a food processor or blender and blend to a thick paste consistency.
Note – If you don’t have a food processor/blender, then you can add the ingredients to a bowl and use a potato masher or fork. It will be a chunkier consistency, but it will work.
Step 2: Roll the mixture into tablespoon-sized balls (there should be around 15).
Note – if the mixture is a little wet, add a little more oats and/or allow the mixture to chill in the fridge for 30-60 minutes. You can also lightly oil your hands when rolling the meatballs to avoid sticking.
Step 3: Preheat the oven to 390F/200C. Meanwhile, lightly fry the meatballs in a large, oiled pan/skillet over medium heat, until lightly browned, turning occasionally.
Step 4: Transfer to a baking sheet and bake until crispy and browned.
Note – By using a stovetop and oven combo, you get a slight crust from the pan before further crisping up and drying out their centers (so they’re not mushy!) during the baking time.
For The Spiced Gravy
Step 1: As the vegan meatballs bake, add the tomato paste and plant-based cream to your pan/skillet on the stovetop and whisk until smooth, slowly adding the veggie broth as you whisk.
Step 2: Bring to a boil, add all of the remaining ingredients (apart from the cornstarch and parsley), and simmer for 10-12 minutes.
Note- Reduce the amount of curry powder for less heat and a more ‘muted’ gravy flavor, if preferred. I suggest adding half, tasting, and then increasing as needed.
Step 3: Mix the cornstarch with a little water to create a slurry and then mix into the gravy, heating for a further couple of minutes while it further thickens- then it’s ready to serve!
You can check out my potato method here if you want to serve the vegan meatballs and gravy with mashed potatoes.
For the full ingredients list, measurements, complete recipe method, and nutritional information, read the recipe card below.
How to Store
Store the leftover vegan meatballs and gravy (separately) in the fridge for 4-5 days.
You can also freeze them in their uncooked or cooked form. They tend to become even crispier when reheating after they’re already baked once, so that’s what I prefer to do.
To freeze, layer in a freezer-safe container between layers of parchment paper, so they don’t stick as they freeze. Freeze for up to 3 months. Thaw in the fridge before reheating, bake from frozen (increase the time in the oven a bit), or drop them into a pot of sauce on the hob from frozen or thawed until warmed through.
How to Serve
These meatless meatballs are super versatile, perfect for serving with tons of meals apart from the spicy gravy so that they’re never becoming boring. Here are a few of my other favorite options:
- With Marinara sauce – either alone or with spaghetti, mash, or rice.
- Spaghetti & meatballs
- Or other pasta dishes – like this Roasted Red Pepper Pasta, Alfredo Pasta, or even German Schupfnudeln.
- In a meatball sub/wrap with this Vegan Cheese Sauce.
- Add the vegan meatballs to soups and stews – like this easy Tomato Pasta Soup, Lasagna Soup, or Creamy Pasta Soup.
- As part of traybake with roasted veggies.
- Use, halved, as a Pizza topping.
- They also become firmer as they cool, so they are great for serving in cold pasta salads or as finger-food alongside some Yum Yum Sauce or other dips.
And don’t forget to serve with a liberal sprinkle of Vegan Parmesan to top- delicious!
Ingredient Substitutions
- Oats: You can substitute the oats with your flour of choice – such as buckwheat. You can also use grain-free options, including almond, quinoa, and chickpea flour. Avoid coconut flour as it’s very absorbent and could lead to crumbly meatballs.
- The Cream: You can use plant-based cream, coconut cream, or full-fat coconut milk. You could also use any other plant-based milk (soy, oat, etc.), but the gravy won’t be as rich and creamy.
- Sunflower Seeds: Or you can use the seeds/nuts of your choice (Pumpkin, hemp, walnut, cashew, almond, hazelnut).
- Beans: Feel free to sub the black beans for kidney beans or even chickpeas.
- Optional Add-ins: You could add a splash of liquid smoke or soy sauce/tamari (GF option) for additional flavor.
- Cornstarch: Substitute this with arrowroot or tapioca starch.
Other Helpful Tips
- To cook these in an air-fryer: I haven’t tried, but I suggest using the same temperature, spray lightly with a little oil and cook for between 10-15 minutes.
- To only pan-fry: Simply heat for longer in the pan. They will be slightly softer/mushier this way, except if you deep-fry them.
- To only oven-bake: Bake in the oven for an extra few minutes. They won’t be quite as crispy this way.
- Readers’ Tip: You can omit the pan-frying and bake these veggie meatballs in a Muffin tin. That way, they get crispy all over but with no need for excess oil or turning them over.
- You can adjust these black bean meatballs into vegan burger patties by shaping them into patties and increasing the cooking time.
Related Recipes without Meat
- Vegan Hungarian Goulash
- Meat-free Meatloaf with Mushroom Sauce
- Vegan Shawarma Kebab
- Meat-Free Sausage Recipe
If you try this vegan meatball recipe, I’d love a comment and recipe ★★★★★ rating below. Also, don’t forget to tag me in re-creations on Instagram or Facebook with @elavegan/ #elavegan – I love seeing your recreations.

Vegan Meatballs
Ingredients
Vegan meatballs:
- 1 (15 oz) can black beans drained and rinsed (250 g)
- 1/4 cup (35 g) sunflower seeds
- 1/2 cup (45 g) oats (gluten-free if needed)
- 2 tbsp (60 g) tomato paste
- 2 cloves of garlic
- 1/2 large onion chopped
- 2 tbsp ground chia seeds or flax seeds
- 1/2 tbsp onion powder
- 1 tsp garlic powder
- 1 tsp oregano
- 1 tsp ground cumin
- 1/2 tsp smoked paprika
- 1/4 tsp red pepper flakes (optional)
- Sea salt and pepper to taste
- Oil for frying
Gravy:
- 1 1/2 cups (360 ml) vegetable broth or water
- 1/3 cup (80 ml) plant-based cream or canned coconut milk
- 2 tbsp (60 g) tomato paste
- 1/2 tsp fresh ginger (minced)
- 3 tsp curry powder
- 1 1/2 tsp onion powder
- 1 tsp garlic powder
- 1 tsp oregano
- 1 tsp cumin
- 1 tsp turmeric (optional)
- 1/2 tsp nutmeg
- 1/2 tsp smoked paprika
- 1/4 tsp red pepper flakes (optional)
- 1 tsp coconut sugar (or brown sugar)
- sea salt and pepper to taste
- 1 tbsp cornstarch (to thicken)
- Fresh parsley to garnish
Instructions
- Prepare mashed potatoes or make your favorite pasta or rice (whatever you want to serve with your vegan meatballs).
Vegan meatballs:
- Put all the meatball ingredients (except oil) into a food processor (or blender) and pulse a couple of times. Scrape down the sides and pulse again. Repeat for about one minute or until the mixture sticks together in a thick paste.
- Roll the mixture with your hands into balls. I used 1 tbsp per ball (the recipe makes about 15 balls).
- Preheat oven to 390 degrees F (200 degrees C).
- Heat 2-3 tbsp oil in a pan/skillet and fry the balls for about 6-8 minutes over medium heat. Shake the pan from time to time to fry the balls evenly on all sides.
- Transfer the balls onto a baking sheet and bake for about 20 minutes.
Gravy:
- To make the gravy, add the tomato paste to a pan (use the same pan which you used for the meatless balls), pour in the plant-based cream, and stir with a whisk to smooth out the tomato paste. Then slowly add the vegetable broth, while stirring.
- Bring the sauce to a boil, add all other ingredients (except cornstarch and fresh parsley) and allow it to simmer over medium heat for 10-12 minutes (the longer you simmer the gravy, the more flavorful and thicker it will be).
- In a small bowl mix cornstarch with a little bit of water into a 'slurry' and then add it to the pan. The gravy will get a little bit thicker. Keep simmering for a further 2-3 minutes.
- Pour the gravy over the meat-free balls and serve with either mashed potatoes, pasta, or rice! Store leftovers of the gravy and meatballs (separated) in the fridge for 3-4 days.
Notes
- Feel free to use fewer spices for the gravy if you don't like it too spicy.
- If you don’t have a food processor/blender, then you can add the ingredient to a bowl and use a potato masher or fork. It will be a chunkier consistency but will work.
- If the meatball mixture is a little wet when trying to form the balls, add a little more oats and/or allow the mixture to chill in the fridge for 30-60 minutes. You can also lightly oil your hands when rolling the meatballs to avoid sticking.
- Read the recipe and ingredient notes section in the blog post above for more suggestions and top tips! You can also find additional serving suggestions.
- Recipe serves 3. Nutrition facts are for one serving (without the mashed potatoes).
Nutrition information is an estimate and has been calculated automatically
Hi Elma, are sunflower seeds a must in this recipe? Also could I use oat flour instead of whole oats?
Hi, you can use nuts of choice, e.g. walnuts. Oat flour is fine. 🙂
I tried the meatballs today and they were delicious. I did not have time to do the gravy but used tomato sauce. Thank you for putting this up.
I am glad you enjoyed the recipe, Melissa! 🙂
Hi, Ela . This looks amazing. Would it be ok to substitute black beans with red beans?! Thank you and big fan of your recepies ????
Hello! Yes, that’s totally fine! I am glad you enjoy my recipes, dear. 🙂
Hi Ela,
In the recipe, you mention 15 oz can or 250 grams, but if you google it, it shows 425 grams. I don’t have any cans at home to compare as I cook beans at home. I would suggest double-checking this info. 🙂
I love your recipes Made the chocolate pie for my birthday!
Janice
Hi Janice! The 250 grams is after draining the liquid. Hope this helps. 🙂
So glad you love my recipes dear.
Much love, Ela
Love your recipe’s thank you. Can’t make this dish.
You are welcome, Emily! I hope you will love it as much as I do. 🙂
I love this recipe and have been making them for holiday dinners, it wins all the hearts at dinner parties.
Quick question: do you think I can prepare the mixture a day before and cook the next day?
Christmas dinner prep gets pretty hectic and I wanna save some time.
Please let me know and thank you so much for all of your wonderful recipes!
Yes, that should be totally possible! 🙂
Happy holidays.
I’m sorry but these were not good. The balls have no flavor and the curry is way too many seasonings. I would not make this again. If you are making this make sure to add about 1/2 to 1 teaspoon of salt in the ball mixture.
Such a pity you didn’t like the recipe, Mona. It has lots of 5-star reviews and got amazing feedback on Pinterest and Instagram. Every taste differs though. 🙂
Once again you have perfected a recipe! I am confident that when I try one of your recipes it will be a good one and I’m not wasting ingredients. Thank you for sharing!!! These are great, nice texture and flavor gravy is perfect!
Aww that’s awesome! I am so glad you liked it and thanks for your compliments 🙂
What grain free option can I use instead of oats? Would flax, almond flour, chickpea flour, or just omitting it work? I can’t have buckwheat either…
Almond flour sounds good! I am pretty sure the other options will work as well. I wouldn’t omit! 🙂
I’m not vegan,but delicious as these recipes look,I may become one ????
Sounds great, Wanda! I hope you will give plant-based eating a try. 🙂
These sound great buy I do not like curry. It bums be out so much that there are so many vegan recipes depending on curry. Can you suggest another kind of gravy to use that these balls will go with?? Thanks much
You can simply leave out the curry and turmeric powder. 🙂
Hi Ela!
How can I substitute the oats?
You can use any flour of choice (I would probably not recommend coconut flour though because it’s too absorbing).
I made these for my family along with the potato noodles and it was a big hit. I was so surprised by this gravy. I have never made a gravy with such ingredients, and when you taste it, you could never tell what was in it. Furthermore, it is by far the tastiest gravy I have made.
That’s wonderful, Ashley! Thanks for your feedback. 🙂
Can I use kidney beans instead of black beans?
Yes, you can! 🙂
These were so good and I want to make them again but before doing so have a question. How did you make them perfectly round? I struggled with how sticky they were and they wouldn’t roll easily without getting completely stuck to my hand lol. Is there anything I might be doing wrong?
Hi Rachel! It sounds like your mixture was too wet. I would recommend adding more oats next time. Also, you can add a little oil to your hands which makes it easier to shape the balls. 🙂
Do you think I could replace the beans with chickpeas? My husband is allergic……
Yes, that should be fine! 🙂
The only oats I have in the house are steel cut. Will they work? I have made these a few times in the past and love them! I’m just out of regular oats.
It should work, Denise, but I never tried it with steel-cut oats. 🙂
Accidentally bought milled flaxseed, will this work?
Yes, it will!
I made the meatballs tonight. I decided to double the recipe which became interesting when it filled my 10 cup processor to the brim! I divided up the mixture and did two batches then combined them. Even those I made mine a little on the large size, I came out with 34 total. I baked them them instead of frying. While they were in the oven, I made a red sauce from the leftover tomato paste, a few spoonfuls of fresh salsa and some broth. Dropped in a few meatballs and it delicious! I’m freezing the others in meal size portions and look forward to making the gravy! Thank you for the great recipe!
Thanks for your feedback, Susie! I am so glad you liked the recipe. 🙂
I only made the gravy portion of this recipe, but it is PHENOMENAL. I will be remaking this for many types of meals!
Awesome! I am so glad you liked it. 🙂
Looks yammy! Can flax or chia seeds be replaced with psyllium husk?
That should work fine, Vera. 🙂