Creamy Vegan Butter Chicken (Tofu Makhani)

Make this restaurant-style Vegan Butter Chicken (Tofu Makhani) in under 30 minutes. A creamy, dairy-free curry recipe using crispy tofu and coconut milk. Perfect for a cosy weeknight meal.

There are few dishes as universally comforting as a rich, aromatic curry. This week, we’re sharing a plant-based twist on the absolute classic: Butter Chicken.

By swapping out dairy for luscious coconut milk and replacing chicken with protein-packed extra-firm tofu, we’ve created a vegan version that rivals the original in both flavour and luxurious texture. The tofu cubes are pan-seared first to give them a satisfying bite before being simmered in a golden, mildly spiced tomato and coconut sauce.

This recipe is surprisingly simple to pull together for a mid-week meal but feels special enough for a weekend treat. It tastes even better the next day once the flavours have had time to meld

Ingredients

For the Tofu:

  • 1 block (approx. 400g) extra-firm tofu, pressed for at least 20 minutes to remove excess water
  • 1 tbsp cornstarch (cornflour)
  • Pinch of salt
  • 1 tbsp vegetable oil for frying

For the Sauce:

  • 2 tbsp vegan butter or coconut oil
  • 1 medium yellow onion, finely diced
  • 1 tbsp fresh ginger, grated
  • 3 cloves garlic, minced
  • 1 ½ tbsp garam masala
  • 1 tsp ground turmeric
  • 1 tsp ground cumin
  • ½ tsp mild chilli powder (adjust to taste)
  • 400g tin crushed tomatoes or tomato passata
  • 1 tin (400ml) full-fat coconut milk
  • 1 tsp maple syrup or sugar (to balance acidity)
  • Salt to taste

To Serve (as pictured):

  • Steamed basmati rice
  • Fresh coriander leaves, roughly chopped
  • Sliced fresh cucumber

Method

  1. Prepare the Tofu: Once pressed, cut the tofu into bite-sized cubes. In a bowl, gently toss the cubes with the cornstarch and a pinch of salt until lightly coated. Heat 1 tbsp oil in a large pan over medium-high heat. Add the tofu in a single layer (fry in batches if necessary) and cook until golden and crisp on most sides. Remove from the pan and set aside on a plate.
  2. Start the Aromatics: Return the same pan to medium heat. Melt the vegan butter. Add the diced onion and cook for 5-7 minutes until soft and translucent. Add the grated ginger and minced garlic, cooking for another minute until fragrant.
  3. Bloom the Spices: Stir in the garam masala, turmeric, cumin, and chilli powder. Cook for about 30 seconds, stirring constantly, to unlock their flavours (be careful not to burn them).
  4. Simmer the Sauce: Pour in the crushed tomatoes (or passata), maple syrup, and a generous pinch of salt. Stir well to combine, scraping up any browned bits from the bottom of the pan. Bring to a gentle simmer, cover, and let it cook for 10 minutes to thicken slightly.
  5. Make it Creamy: Stir in the full-fat coconut milk. Optional step for a velvety smooth sauce like the photo: Use an immersion blender to briefly puree the sauce directly in the pan.
  6. Combine and Serve: Add the crispy tofu cubes back into the creamy sauce. Simmer gently on low heat for another 5 minutes so the tofu absorbs the flavours.
  7. Prepare your plates with a bed of fluffy basmati rice. Generously ladle the Tofu Butter Chicken over the rice. Garnish with plenty of fresh chopped coriander and serve with cool cucumber slices on the side for a refreshing crunch.

Top tips for success

  • Press your tofu. This is the most important step for texture. Removing the excess water allows the tofu to absorb the flavours of the sauce and helps it crisp up in the pan. If you do not have a tofu press, simply wrap the block in a clean tea towel and place a heavy pan or book on top for 20 minutes.
  • Don't burn the garlic. When sautéing your aromatics, keep an eye on the garlic and ginger. They can turn bitter quickly if overcooked. If they start to brown too much, lower the heat or add a splash of water.
  • Adjust the heat. The beauty of making this at home is control. If you prefer a milder curry, reduce the chilli powder or skip it entirely. For more heat, add a pinch of cayenne pepper or fresh green chillies along with the ginger.
  • Blend for smoothness. The sauce will naturally have some texture from the onions. If you want that ultra-smooth, restaurant-style consistency shown in the photo, use a stick blender to puree the sauce before adding the tofu back in.

Why you will love this recipe

  • It satisfies the craving. This dish hits all the same notes as the traditional takeaway favourite—creamy, savoury, and slightly sweet—without the heavy dairy.
  • The texture is spot on. By pressing the tofu and coating it in cornstarch, you avoid the soggy texture that often gives tofu a bad reputation. Instead, you get chewy, golden bites that hold up perfectly against the rich sauce.
  • It is naturally gluten-free friendly. As long as you double-check your spices and soy sauce (if using), this meal is perfect for those avoiding gluten.
  • It is fantastic for meal prep. Like many curries, the flavours deepen overnight, making this an ideal lunch to pack for work the next day.

Latest articles

Get regular updates from us

We’ll email you details of the latest properties, exclusive events and real life stories straight into your inbox.