Vegan butter chicken is deliciously spicy, rich and creamy, and absolutely packed with flavour. It’s also ready in 30 minutes, so perfect for a weeknight dinner. This crowd-pleaser is one of our most popular recipes on Instagram. For long-time readers, this recipe used to be called Tofu Makhani, but don’t worry, the recipe is still the same. We’ve only changed the name.
So, what is vegan butter chicken?
Butter chicken is a traditional Indian curry, where chicken is cooked in a spicy tomato sauce. It’s made with butter and cream, which gives it a rich and indulgent flavour. The flavour and texture is really similar to the British favourite, tikka masala. The main difference is that butter chicken is creamier, and is less tomato intense.
We’ve created a vegan butter chicken by switching out the chicken for tofu, and the dairy for plant based alternatives. Tofu butter chicken works really well because tofu has a lovely firm texture, and it absorbs flavours well.
Why this recipe works
- Vegan butter chicken is one of our most popular recipes on Insta! Our followers have tried and tested it loads of times, and always get great results.
- We’ve designed the recipe to be super quick and easy to make. It takes a few spices, but once you have them in the cupboard you can make curries all the time. The warm, rich and creamy flavour is certainly well worth it.
- We love tofu butter chicken so much, that at one point we were making this recipe weekly! The recipe has been tested so many times, you can be sure that it will work perfectly. It's rich and creamy, like this tofu korma, but packs a little chilli heat too.
🍽 Equipment needed
You won’t need any special equipment to make vegan butter chicken. All you’ll need is a non-stick pot and utensils for stirring and serving. You’ll need to fry onions in the pot, so we’d recommend using one that conducts the heat well. It’s also important that your pot is large enough to fit all of the ingredients!
Optionally, you can press the tofu with a tofu press before cooking.
📋 Ingredient notes
- Tofu – Extra firm tofu is the best kind to use for this recipe, as it has the best texture. If you can’t find extra firm tofu, you can use firm tofu. If you use firm tofu, you will need to press it before cooking to get rid of the extra liquid. A tofu press is the best way to do this. If you don’t have a tofu press, you can wrap the tofu in kitchen paper and press between two plates.
Try freezing and then defrosting the tofu (before cooking) to give the tofu butter chicken a great ‘meaty’ texture.
- Tomato passata – Passata is perfect for vegan butter chicken because it makes the sauce extra silky. You can also try blending tomatoes for the sauce - either fresh or canned will work.
- Vegan butter – To get the right creamy texture for your vegan butter chicken, make sure you use vegan butter and not oil. Any type of vegan butter is fine, but there are some brands that work really well.
If you’re in the UK, we’d recommend using Flora plant-based spreads. Make sure that you get the plant-based variety, as Flora also makes a product called ‘buttery’ which contains milk. For our US-based readers, Earth Balance is the best option.
- Oat cream – Oat cream is absolutely delicious in vegan butter chicken because it’s nice and thick. You can switch it out though. We’ve used coconut milk, cashew cream, and plant-based single cream before, and they’ve all worked well.
- Ground almonds – the almonds help to thicken the curry sauce and add a rich nutty flavour. We often blend up a load of whole almonds, but you can also buy almond flour and use that instead.
🔪 Step-by-step instructions
1. Start by heating the oil in a large pan. Once the oil reaches a medium-high heat, add the onion. Cook the onion until it’s started to soften and looks slightly translucent. Be sure to keep it moving while it cooks so that it doesn’t stick to the bottom of the pan.
2. When the onion is soft, add the garlic, ginger and other spices to the pan. Again, make sure that you keep them moving! Cook everything for a couple of minutes until the spices start to release a fragrant aroma.
3. Pour the passata into the pan and give everything a stir.
4. Once the passata is simmering, add the cream, ground almonds and butter. If you think it looks too thick once they’ve been added, you can add a little bit of water to thin it out again. Be careful not to add too much, though. It shouldn’t be watery!
5. Pop the tofu in, and simmer the whole lot for another 5 minutes.
6. Just before serving, stir in the peas and lime juice (optional) and season with salt.
7. Serve your it up with rice and as many side dishes as you like. It’s just not possible to have too many sides!
👩🍳 Expert tips
- Variations – If you are a fan of broccoli then you can use it to replace the peas. Or you could have both broccoli and peas, or leave the peas out without replacing them. We especially like adding extra broccoli to our vegan butter chicken.
- Preparation – It’s a good idea to spend a few minutes getting everything prepared before you start cooking. Get your veggies chopped up and your spices measured out into a ramekin. This makes it much quicker and easier to prepare overall.
- Switch out the tofu – If you don’t fancy tofu, or don’t like it, you can switch it out for a meat replacement. Vegan chicken works really well, as does seitan chicken pieces.
- Tofu hack! If you want the tofu to be extra crispy and delicious, coat it in cornflour and fry it in a couple of tablespoons of oil. The cornflour creates a crispy coating that makes your tofu extra special.
- Cayenne pepper – Cayenne pepper is pretty spicy! Although there is only a small amount in this recipe, it does add a little bit of heat. If you don’t want your tofu butter chicken to be spicy, then you can leave it out.
It can! As with most curries, it freezes really well and will keep in the freezer for up to 3 months. We like to freeze ours in individual portions so they’re easier to manage. It means we’ve got healthy meals ready to go whenever we need them!
Yes, definitely. It keeps well in the fridge for up to 2 days. Don’t add the peas until you’re reheating it, though. Peas always go a weird, crumbly texture when they’ve been sitting in a sauce for a long time, which we don’t find to be enjoyable.
The main difference is that extra firm tofu contains less water than firm tofu. This means that it’s easier to fry. It has much more chew than firm tofu, so it can feel more substantial.
Firm tofu will need to be pressed before you use it. However, because the curds are less compact it can sometimes absorb marinades better.
🍛 What to serve it with
We really like curry with as many side dishes as possible! We’ve spent a lot of time developing some seriously delicious ones for you all. Try this tofu makhani with any of these yummy sides:
🇮🇳 More Indian recipes
If you’re partial to an Indian style meal, then you’ll love these recipes:
For more curry inspiration, check out this article: 60+ Vegan Indian Dishes [That Anyone Can Make]
Did you make this recipe? Leave a review and a rating below, or tag us in your photos on Instagram! Alternatively, bookmark it in your browser or save to Pinterest for later.
If you love our content, please consider supporting it by buying us a coffee.
Vegan Butter Chicken
- 1 onion - roughly chopped
- 3 cloves garlic - minced
- 1 inch piece of ginger - finely diced
- 1 tsp garam masala
- 1 tsp cumin powder
- ¼ tsp chilli powder
- ¼ tsp cayenne pepper
- 1 bay leaf
- 300 ml tomato passata
- 250 ml oat cream or other non-dairy cream
- 1 tbsp non-dairy butter
- ¼ cup ground almonds
- 350 g firm tofu - chopped into cubes
- ½ cup peas
- 1 tbsp lime juice optional
- 1 tsp groundnut oil optional
- ¼ tsp salt or to taste
- Put your oil in a large pan and bring up to a medium-high heat.1 tsp groundnut oil
- Fry the onion until it starts to soften and turn translucent.1 onion
- Add the garlic, ginger, spices, bay leaf and cook for a couple of minutes until fragrant.3 cloves garlic, 1 inch piece of ginger, 1 tsp garam masala, 1 tsp cumin powder, ¼ tsp chilli powder, 1 bay leaf, ¼ tsp cayenne pepper
- Pour in the passata, give it a stir and bring up to a simmer.300 ml tomato passata
- Stir in the cream, butter and ground almonds - if the curry starts to look too thick at this point, just add some water, as the almonds can cause it to thicken up.250 ml oat cream, 1 tbsp non-dairy butter, ¼ cup ground almonds
- Add the tofu and simmer for 5 minutes.350 g firm tofu
- Put the peas and lime juice in (if using), give it a good stir and season to taste, around ¼ teaspoon of salt should be enough.½ cup peas, 1 tbsp lime juice, ¼ tsp salt
- Serve up with rice and some of our delicious naan bread.
- If you don’t have oat cream, you can use coconut milk, cashew cream or plant based single cream.
- If you don’t have tomato passata, you can substitute blended tinned tomatoes or blended fresh tomatoes. If using fresh tomatoes, consider adding an extra two tablespoons of ground almonds to thicken the sauce.
- Almond flour can be substituted for ground almonds.
- Try coating the tofu in cornflour and frying off in two tablespoons of oil before adding it to the curry. It creates a lovely crispy coating on the tofu.
- Tofu can be switched out for any other vegan chicken alternative.
- This curry freezes well for up to 3 months in the freezer.