Go Back Email Link
+ servings
A bowl of fried golden brown meat balls or Filipino Bola Bola with a small bowl of sweet chili sauce

Vegan Bola-Bola (Filipino Meatballs)

5 from 3 votes
Bola-Bola are Filipino Meatballs that are traditionally deep-fried for that crisp exterior. This vegan recipe only needs 8 simple ingredients and uses a mix of tofu and plant-based ground/mince to recreate that meaty texture of meatballs. These are also gluten-free!
You can enjoy these by making Sweet and Sour Bola-Bola or Meatballs (recipe here)
Prep Time 15 mins
Cook Time 15 mins
Total Time 30 mins
Course Appetizer, Finger Food, Main Course, Side Dish
Cuisine Asian, Filipino, Southeast Asian
Servings 24 meatballs
Calories 50 kcal


  • 200 g plant-based ground meat or mince see notes
  • 250 g extra firm tofu or tokwa drained from water
  • 1 small carrot finely grated or processed (100 g)
  • 1 small onion finely diced or processed
  • 3 cloves garlic minced
  • 1/2 - 1 cup corn starch see notes (60 to 120 g)
  • 1-2 tbsp soy sauce to taste (sub tamari if gluten-free)
  • Salt and pepper to taste

For cooking

To Serve


  • In a large bowl, add the plant-based ground or mince. The mince I used was already seasoned so I didn’t add much salt and pepper.
  • For the tofu, I simply drained my block from water. I no longer pressed my tofu since my minced was quite dry and separate (similar to cooked minced meat).
  • But if your plant-based ground is similar to the consistency of raw ground meat, that’s wet and sticky, I recommend to press your tofu. To press your tofu, you can cover it with a towel before placing a heavy surface (such as a board) on top for 5-10 minutes to allow it to release liquid.
  • Add the tofu with the plant based ground/mince and then mash it and break the tofu apart with your hands or a fork.
  • Add in the carrot, onion, garlic, 1/2 cup corn starch first, and soy sauce. Mix well with a spoon or your hands. The mixture will get lots of moisture from the carrot and tofu so if you find that the mixture is still very wet and doesn’t hold up very well, you can add 1 tbsp more corn starch at a time. I used a total for 1 cup corn starch fro mine since my mixture was quite were at the start.
  • You can taste some of the mixture and season with salt and pepper, to taste.
  • Scoop around 1 1/2 tbsp of the mixture and shape into balls. Each ball is a little smaller than a ping-pong ball. Repeat this until you have around 22-24 meatballs
  • Meanwhile, preheat your frying pan or wok over medium high heat. Once hot, add in enough neutral oil to completely submerge the bola-bola and leave the oil to get hot. If pan-frying/baking, see some tips in the notes below.
  • To test the heat of the oil, you can add a tiny piece of of the meatball and add to the oil. The oil should immediately sizzle and the tiny piece should float up.
  • Once the oil is hot, add the meatballs in 2-3 batches of 7-8 meatballs at a time (depending on the size of your pan). Make sure not to overcrowd the meatballs. I cooked mine in 3 batches.
  • Leave the bola-bola to cook for 4-5 minutes over medium high heat or until the bola-bola are a deep golden brown colour and are crisp on the outside.
  • Transfer the balls to strainer or cooling rack to drain any excess oil. Don’t cover the balls so they stay crisp. Repeat this for the rest!
  • Serve and enjoy your bola-bola with your dipping sauce of choice or use for other recipes, such as Sweet & Sour Bola-Bola or meatballs (recipe here)!


Plant-Based Ground and Tofu

  • The mince I used from the brand Unmeat was already seasoned so I didn’t add much salt and pepper. It's also a lot more dry than plant-based meat substitutes like Beyond Meat and LightLife, so those brands would bind a lot better.
  • Other substitutes for plant-based ground/mince: TVP or texturised vegetable protein. If using TVP, rehydrate this by soaking it in warm or room temperate water until doubled in size, around 5 minutes. Drain from the water and squeeze out any excess liquid.
  • If using brands that have a consistency similar to actual raw ground meat that’s wet and sticky, I recommend to press your tofu. To press your tofu, you can cover it with a towel before placing a heavy surface (such as a board) on top for 5-10 minutes to allow it to release liquid.

Other Cooking Options

  • For pan-frying, I highly suggest using a non-stick pan to really reduce the oil needed.
  • Heat enough neutral oil in your non-stick pan to evenly coat the surface of the pan. A thin layer will do.
  • Add in the pieces when the oil is hot and then pan-fry on each side until crispy, around 4 to 5 minutes.
  • Note: These won't turn out as evenly golden brown compared to the deep fried ones but still good enough.
  • Remove the pieces from from the oil and then set aside on a strainer or cooling rack.
  • I haven’t tried baking these since baking usually yields dry bola-bola. If you prefer to bake or even air fry yours and will use the meatballs or bola-bola to coat this in the sauce, then you can spray or brush a thin later of oil on your meatballs before baking/air-frying so these don’t turn out very dry.


Serving: 1meatball | Calories: 50kcal | Carbohydrates: 9g | Protein: 3g | Fat: 1g | Saturated Fat: 1g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 1g | Sodium: 50mg | Potassium: 19mg | Fiber: 1g | Sugar: 1g | Vitamin A: 1IU | Vitamin C: 1mg | Calcium: 17mg | Iron: 1mg
DID YOU MAKE THIS RECIPE?Please leave a rating or comment and share a photo on Instagram, and tag me @thefoodietakesflight or use #thefoodietakesflight :)