From dal tadka to chana masala to cauliflower gobi manchurian, Indian cuisine offers an incredibly diverse array of delicious plant-based options. While butter and cream do appear in many vegetarian Indian dishes, other sauces are made thick and creamy without dairy by soaking and pureeing nuts. Having ancient roots dating back thousands of years, plant-based Indian food has in many ways evolved as a distinct culinary tradition independent of its mainstream meat-centric counterpart. This means that, for all the delicious veggie options this cuisine offers, you’re unlikely to find veganized versions of popular meat-based Indian dishes at restaurants, even if they could be adapted easily with simple swaps using ingredients and techniques already within the traditional Indian repertoire. After reading through dozens of traditional butter chicken recipes, I finally developed this hearty dish that captures all the sweet, spicy, richness of butter chicken without any chicken or butter, and using whole food ingredients available at most standard grocery stores. While I’m not going to claim that it’s as good as your Indian grandmother’s rendition, I’m going to bet that it’s pretty darn close.

Murgh Makhani: Butter ‘Chicken’ [Vegan]







For the Protein:

  • 12 ounces vegan protein of your choice, cut into bite-sized chunks (Tempeh or chickpeas, as well as any faux meat, would also work well. You can also add or swap in your favorite veggies, such as mushrooms or cauliflower. Just be mindful that softer add-ins may get a little mushy if cooked too long.)

For the Marinade:

  • 1 container plain soy or other vegan yogurt
  • 2 tsp garam masala spice mix (Available at most major grocery stores. Once you have it on hand, you’ll frequently find yourself reaching for it to add depth to everyday veggie sides.)
  • 1 clove crushed or mashed garlic
  • 1/2 teaspoon ginger paste
  • Juice of 1/2 lime

For the Sauce:

  • 1/2 cup raw cashews
  • 1 cup water
  • 1 tablespoon olive or coconut oil (or enough to thinly coat the bottom of your pan)
  • 1 small onion, diced
  • 2 cloves garlic
  • 1 tsp ginger paste
  • 1 tablespoon garam masala, plus additional to taste (You can also use curry powder in a pinch, but the flavor will be less authentic.)
  • 5 or 6 tomatoes, chopped
  • 1 tablespoon tomato paste
  • 1 tablespoon nutritional yeast (completely optional, but I find this adds extra depth)
  • Cayenne pepper, to taste
  • Salt, to taste
  • A dollop of coconut oil, or a splash of olive oil to garnish (optional)


  1.  Combine marinade ingredients in a bowl and add protein. Set aside and leave to marinate while preparing sauce.
  2. In the meantime, set cashews and water on the stove in a small pot over medium heat and cover. Bring to a low boil and lower heat. Continue to simmer, covered, while preparing other components of the dish.
  3. Heat oil in a heavy-bottomed pot. Add onion and cook over medium-low heat until translucent and beginning to caramelize.
  4. Add garlic, ginger paste, and garam masala. Stir and continue to saute until fragrant.
  5. Add chopped tomatoes, tomato paste, and a pinch of salt to the pan and stir to combine. The tomatoes will release a lot of liquid. Simmer for 30 minutes to an hour, until virtually all of the excess juices have evaporated and the tomatoes concentrate and darken in color. (You can leave the pan unattended and just check it periodically to stir.)
  6. Once mixture is reduced to a paste the consistency of jam, allow to cool slightly and combine in a blender or food processor with cashews and their liquid. Blend until creamy and the consistency of a thick soup, adding additional water by the quarter cup to thin if needed.
  7. Return to pan and add protein and any excess marinade. Simmer until heated through.
  8. Add cayenne (a couple of shakes for medium heat), nutritional yeast, if using, and a pinch of salt. Taste and adjust flavor, adding more garam masala if desired. (Be mindful that the flavor and heat of the cayenne and garam masala will build with each bite, so take a few tastes before adding more. If the gravy still tastes like mild tomato sauce, then it needs to be spiced more aggressively. If it’s bitter or too spicy to comfortably eat, add a splash or water or non-dairy milk to mellow.)
  9. Serve hot in bowls with basmati rice and/or naan. If desired, garnish each bowl with a bit of margarine or coconut oil, or a splash of oil to be stirred in at the table.

Nutritional Information

Per Serving: Calories: 367 | Carbs: 39 g | Fat: 15 g | Protein: 22 g | Sodium: 47 mg | Sugar: 9 g Note: The information shown is based on available ingredients and preparation. It should not be considered a substitute for a professional nutritionist’s advice.