This recipe for Indian style "koftas" -- meatballs -- has authentic flavor but a meatless riff. The vegan koftas are delicious enough to serve as appetizers on their own, or you can add them to recipes like kofta biryani and vegan meatball curry.

Table of Contents
What is kofta?
Kofta are spiced meatballs often served as kebabs or dunked into curries and in rice dishes like biryanis and pilafs. The koftas I am sharing today are inspired by Indian koftas, which are made with chicken or mutton and flavored with Indian spices, including ginger garlic paste, turmeric, red chilli powder, cumin and coriander.
Koftas are not intrinsically Indian. They originated in Turkey and Persia, and are believed to have first been served in India the courts of the Mughals - invaders from Turkey who ruled parts of modern-day northern India, Pakistan and Afghanistan. As the koftas traveled, they were adapted to local taste buds. In India, alongside chicken and mutton koftas, you can find vegetarian versions, like malai kofta and lauki kofta (made with bottle gourd -- see my adapted zucchini kofta curry).
Versions of koftas can be found globally, including in Greece (keftedes), Lebanon (kafta), Egypt and more. These are versatile little nuggets, much like the meatballs we are used to dunking into Italian sauces and more. My vegan Indian koftas can be served by themselves, as an appetizer or snack, or you can add them to curries and rice dishes. They are delicious every which way!
An easy, delicious kofta recipe
- The vegan Indian kofta is made with a vegan meat substitute, so it has great texture, and the spices add so much delicious flavor.
- The koftas are extremely versatile, but I especially love using them in curries and in biryani, where they are an uncanny substitute for chicken kofta.
- This is a protein-packed recipe, with 16 grams of protein in each serving. It is perfect for those on low-carb vegan diets--each serving has just nine grams of net carbs.
- Indian koftas are often deep-fried, but I shallow fry these vegan koftas in just enough oil to coat the bottom of the pan, keeping this dish healthier. You can also air-fry the koftas or bake them. More on that later.
- The recipe is so easy, you can make the kofta meatballs in about 20 minutes with nine ingredients.
- The meat substitute I used is safe for those with food allergies. If you use a different brand of beef substitute and have allergies, be sure to check the labels.
Ingredients
- Vegan meat substitute. I used Beyond Beef, which is soy-free, gluten-free and nut-free. You can use any meat substitute of your choice, but make sure it is finely ground and not too coarse or dry.
- Onion. I always prefer red onions in Indian recipes because they are spicier. But if yellow or white onions are what you have you can use them instead.
- Ginger garlic paste. Ginger garlic paste is a key ingredient in so many Indian recipes, and it adds authentic flavor to these vegan Indian koftas.
- Spices: ground coriander, ground cumin, turmeric and cayenne or paprika (tweak quantities to your taste). The spices are important in this recipe, to add amazing flavor.
- Chickpea flour (besan). Chickpea flour, a popular ingredient in Indian cuisine, acts as the binder in this vegan recipe while keeping the flavors authentic.
- Rice flour (optional). I like rolling the meatballs in a bit of rice flour after shaping them, for more color and texture as they fry in the skillet. You can skip it.
How to make vegan Indian kofta

- Place all the kofta ingredients except for the oil in a bowl.

- Use your fingers or a ladle to thoroughly mix all ingredients.

- Form the mixture into 24 one-inch koftas.

- Coat each kofta with rice flour. Shake off any excess flour.

- Heat oil in a cast-iron skillet or non-stick skillet over medium heat. Add the koftas to the hot skillet. Don't crowd the koftas -- I fried the koftas in two batches of 12 each in my 12-inch cast iron skillet.

- Fry the kofta meatballs on all sides until golden-brown.

Top tip
It is important to squeeze out as much of the juices as you can from the onion before using it in the recipe. Too much moisture will make it difficult to form the meatballs. If you find the mixture is still a bit loose, add more chickpea flour.
Air-fry or bake the kofta
- Air-fryer: Place the vegan Indian kofta in a single layer in the air-fryer basket, with enough room between the koftas for the air to circulate. Air-fry at 350 degrees Fahrenheit/180 degrees Celsius for 10-12 minutes, shaking the basket once or twice during air-frying to ensure the koftas brown on all sides.
- Oven: Coat a baking sheet with cooking spray or oil. Place the koftas an inch apart on the baking sheet and bake in a preheated oven set to 350 degrees Fahrenheit/180 degrees Celsius for 30-35 minutes. Rotate the koftas a few times during baking to make sure they brown evenly.
How to serve vegan Indian kofta
The koftas are wonderful served as an appetizer with vegan cucumber raita for dipping. I also love adding them to my vegan meatball curry and you can even use them in a variation of this vegan malai kofta.
If serving as an appetizer, sip on a cooling glass of iced cardamom green tea--yumm!
Storage
- Refrigerate: The vegan Indian kofta can be stored in an airtight container in the fridge for up to four days.
- Freeze: Flash-freeze on a baking sheet, then place the frozen koftas in a freezer-safe container or bag and freeze for up to four months.
- Reheat: Reheat on an oiled skillet, in the oven or in the air fryer before serving, until warmed through.
More delicious vegan meatball recipes

Recipe card

Vegan Indian Kofta
Ingredients
- 16 oz vegan ground beef (I used Beyond Beef)
- ½ small red onion (grated, about ¼th cup. Squeeze out as as much of the moisture in the onion as you can with your fingers before using in the recipe)
- 1 heaping tbsp ginger garlic paste
- 1 teaspoon cayenne (or paprika for less heat. Tweak spice level to your taste)
- ½ teaspoon turmeric
- 2 teaspoons ground coriander
- 1 teaspoon ground cumin
- ¼ cup besan (Indian chickpea flour)
- Salt to taste
- 2 tablespoons rice flour (optional, see notes below)
- 2 tablespoons avocado oil or any neutral oil
Instructions
- Place all the kofta ingredients except for the oil in a bowl. Use your fingers or a ladle to thoroughly mix all ingredients.
- Form the mixture into 24 one-inch koftas.
- Coat each kofta with rice flour, if using. Shake off any excess flour.
- Heat a tablespoon of oil in a cast-iron skillet or non-stick skillet over medium heat. Make sure the hot oil coats the bottom of the skillet. Add the koftas to the hot skillet. Don't crowd the koftas -- I fried the koftas in two batches of 12 each in my 12-inch cast iron skillet, using a tablespoon of oil for each batch.
- Fry the kofta meatballs on all sides until golden-brown. Remove to a plate lined with a paper napkin.
Notes
- If you aren't using the rice flour, you can proceed to fry the meatballs after forming.
- The meat substitute has a good amount of sodium so add salt judiciously, tasting before you add more. The spices add a lot of flavor so you really don't need a lot of salt.
- Air-fryer: Place the vegan Indian kofta in a single layer in the air-fryer basket, with enough room between the koftas for the air to circulate. Air-fry at 350 degrees Fahrenheit/180 degrees Celsius for 10-12 minutes, shaking the basket once or twice during air-frying to ensure the koftas brown on all sides.
- Oven: Coat a baking sheet with cooking spray or oil. Place the koftas an inch apart on the baking sheet and bake in a preheated oven set to 350 degrees Fahrenheit/180 degrees Celsius for 30-35 minutes. Rotate the koftas a few times during baking to make sure they brown evenly.
Nutrition Information
To print recipe card without images, uncheck "instruction images" after clicking the "print recipe" button.











Mary says
Hi there,
What other meat subsitutes would you recommend for this recipe?
Thank you!
Vaishali says
Hi, use any vegan meat substitute that's finely ground and sticky-feeling, the way ground meat would feel. This is important for the binding of the kofta balls. Both Beyond Beef and Impossible are fine, as is Gimme Lean sausage. Vegan sausages of most brands should be fine, but run them through a food processor first to make sure there are no lumps, and make sure they are unflavored.
Lee says
¼ cup besan (Indian chickpea flour) Is there a substitute for the Belanger flour?
Vaishali says
Hi, Lee. The besan can be substituted with rice flour or cornstarch, but besan is a healthier option. If you're wondering where to source it I'll add an affiliate link for besan on Amazon, but you'll likely get a better price at an Indian store.