Paneer Butter Masala is one of India’s most popular paneer gravy recipe. This recipe with Indian cottage cheese cubes in a creamy tomato sauce is one that I have been making for a long time. With my video and step-by-step guide you can easily make this restaurant style paneer butter masala at home!

This Paneer Butter Masala recipe is a rich and creamy dish of paneer (cottage cheese) in a tomato, butter and cashew sauce (known as Makhani gravy).

The dish has a lovely tang coming from the tomatoes and is slightly sweet with a creamy and velvety feel to it. 

With my easy, quick and delicious recipe you can prepare this restaurant style paneer butter masala recipe within minutes.

Called by various names such as butter paneer or butter paneer masala or paneer makhani this dish is of the most popular Indian paneer dish. Obviously being so popular it is served in many Indian restaurants.

Decades back (in some other lifetime!) I would make butter chicken and this paneer butter masala is adapted from that recipe. For the first time, I had learned how to make butter chicken during my cooking school days.

Later I adapted the same recipe for making paneer butter masala. Plenty of improvisations have happened throughout the years.

This Paneer Butter Masala recipe is one of the most popular paneer recipes on the blog and have been made and loved by hundreds of readers.

You can read the comments at the end of the post, which has a lot of positive feedback and reviews from our readers and fans.

Ingredients you need

  • Ripe red juicy tomatoes: Tomatoes are a key ingredient here which form the base of the makhani sauce or gravy. Makhani sauce is prepared from scratch with fresh ingredients like tomatoes (specifically pureed tomatoes), cashews and butter. Onions can be added if you want. Though traditionally onions are never added in a makhani gravy. So do use tomatoes that are ripe and have a slight sweetness in them. Avoid adding tomatoes that are sour or too tart or unripe.
  • Cashews: Yet another important ingredient is cashews which imparts a lovely creaminess and sheen in the dish. The sweetness of the cashews also balances the tanginess of the tomatoes. Generally in butter chicken or butter paneer, cream is added. To give a creamy consistency and a sweet tinge, I add both cashew paste and cream.
  • Cream: As mentioned above, apart from cashews I also add a bit of cream which thickens the gravy slightly and makes it rich. Though adding cream can be skipped for a less rich version.
  • Butter: The amount of butter that is added is not huge but just right in this paneer butter masala recipe. Butter makes the curry a bit rich and buttery. Though you can go overboard by adding some more butter.
  • Paneer: A quality of paneer can make or break your dish. What you want are succulent soft paneer cubes gently coated with a smooth, buttery tomato sauce. So make sure to use either homemade paneer or good quality store brought paneer. Follow the instructions on the package before using paneer.
  • Spices & herbs: The list of spices is not much. For that brilliant orange color, you need to add kashmiri red chilli powder. You can sub it with cayenne pepper or paprika. You will also need garam masala powder. Kasuri methi which are dried fenugreek leaves also add a good flavor. Just skip them if you do not have. For garnish cilantro (coriander leaves) are added.

Swaps for a vegan version

If you are a vegan don’t worry! You can easily substitute the dairy ingredients with vegan alternatives and still get a delicious dish. 

  • Tofu: To make a vegan recipe, replace tofu, seitan, tempeh with paneer.
  • Vegan butter or oil: Add a neutral-tasting oil or vegan butter and skip cream altogether.
  • Coconut cream: You can even use coconut cream, but with coconut cream, the flavors of coconut will be felt in the final dish.

How to make Paneer Butter Masala

You will have to do some prep work before you begin making this delicious recipe. It starts with soaking your cashews, making tomato puree and blending soaked cashews.


1. Soak 18 to 20 cashews in ⅓ cup hot water for 20 to 30 minutes.

2. When the cashews are soaking, you can prep the other ingredients like chopping tomatoes, chopping and preparing the ginger-garlic paste, slicing paneer etc.

3. Crush 1-inch ginger + 3 to 4 medium-sized garlic to a paste in a mortar pestle to a semi-fine or fine paste. Keep aside. Don’t add any water while crushing ginger & garlic.

4. After 20 to 30 minutes, drain the water and add the soaked cashews in a blender or mixer-grinder. Also, add 2 to 3 tablespoons fresh water or as required.

5. Blend to a smooth paste without any tiny bits or chunks of cashews. Remove the cashew paste in a bowl and set aside.

6. In the same blender add 2 cups of diced or roughly chopped tomatoes. No need to blanch the tomatoes before blending.

7. Blend to a smooth tomato puree. Set aside. Don’t add any water while blending the tomatoes.

Making tomato gravy

8. Heat a thick bottomed pan or a heavy pan. Keep the flame to a low or medium-low. Add 2 tablespoons butter OR 1 tablespoon oil + 1 or 2 tbsp butter in a pan.

Adding oil prevents the butter from browning too quickly. You can even add 3 to 4 tablespoons butter for a rich buttery version. Both salted or unsalted butter can be added.

9. Keep the flame to a low. Add 1 medium-sized tej patta (Indian bay leaf). Fry for 2 to 3 seconds or till the oil becomes fragrant from the aroma of the tej patta.

10. Add the prepared crushed ginger-garlic or 1 teaspoon ready ginger-garlic paste.

11. Fry for some seconds till the raw aroma of the ginger-garlic disappears.

12. Pour the prepared tomato puree. Be careful while adding the puree as it may splutter.

13. Mix it very well with the butter.

14. Begin to cook the tomato puree on a low to medium-low flame. Stir at intervals.

15. The tomato puree mixture will start simmering.

16. In case the tomato puree splutters too much while cooking then cover the pan partly with a lid or cover fully with a splatter lid (channi lid). the tomato puree might splutter if there is more water content in the tomatoes.

17. Do stir at intervals.

18. Simmer the puree for 5 to 6 minutes.

19. Then add 1 teaspoon Kashmiri red chilli powder or deghi mirch. You can even add ½ teaspoon Kashmiri red chilli powder or ¼ to ½ teaspoon of cayenne pepper or paprika or any other variety of red chilli powder.

20. Mix well and continue to stir and sauté the tomato puree.

21. Sauté till the butter starts leaving the sides of the pan and the entire tomato puree mixture comes together as a whole.

This entire cooking and sautéing of the tomato puree take about 14 to 17 minutes on a low flame to medium-low flame.

Time will vary depending on the thickness of the pan, size, the intensity of flame etc.

Adding cashew paste

22. Now add the prepared cashew paste.

23. Mix the cashew paste very well with the cooked tomato puree and continue to stir and sauté on a low to medium-low flame. Stir non-stop after adding cashew paste.

24. Sauté till the cashew paste is cooked and again the oil will start to leave the sides of the masala. The cashew will begin to cook fast. Approx 3 to 4 minutes on a low flame. So keep on stirring non-stop.

25. Next add 1.5 cups water.

Making paneer butter masala

26. Mix the water very well with the tomato-cashew makhani masala. If there are lumps of the tomato-cashew masala, then break with a spoon. You can even use a wired whisk for mixing.

27. Let the curry simmer and come to a boil. Stir occasionally.

28. After 2 to 3 mins, add ginger julienne (about 1-inch ginger – cut in julienne (thin matchstick-like strips). Reserve a few for garnishing. The curry will also begin to thicken.

29. After 3 to 4 minutes, add 1 or 2 slit green chillies.

30. Also add salt as per taste and ½ to 1 teaspoon sugar (optional). You can add sugar from ¼ tsp to 1 teaspoon or more depending on the sourness of the tomatoes.

Sugar is optional and you can skip it too. If you add cream, then you will need to add less sugar.

31. Mix very well and simmer for a minute.

32. After the gravy thickens to your desired consistency, then add the paneer cubes (200 or 250 grams).

Keep in mind the consistency you want before you add paneer as you will be cooking the paneer for a few seconds.

You can also fry the paneer and then add the paneer once the gravy has become creamy. I keep the gravy to a medium consistency gravy.

33. Stir and mix the paneer cubes gently in the gravy. You can switch off the heat at this point.

If you find that the paneer cubes are still raw to taste, then switch off heat after adding cream.

34. Now quickly add 1 teaspoon crushed kasuri methi leaves (dry fenugreek leaves) and 1 teaspoon garam masala to the gravy.

Addition of crushed kasuri methi gives a restaurant flavor. Kasuri methi is optional and can be skipped.

35. Next add 2 to 3 tablespoons of low-fat cream or 1 to 2 tablespoons of heavy whipping cream.

36. Stir gently but well and switch off the heat.

37. Serve Paneer Butter Masala hot garnished with 1 to 2 tablespoons of chopped coriander leaves (cilantro) and the remaining ginger julienne. You can also drizzle some cream or dot with butter while serving.

What to eat with Paneer Butter Masala

  1. Eat with the staple Indian bread roti: Paneer butter masala gravy has a slightly sweet taste and very mildly spiced. Thus making it an excellent gravy to go with roti or chapati.
  2. With other Indian breads: Another great combination for this dish is naan bread or tandoori roti or paratha or roomali roti or Malabar paratha.
  3. With rice: It also goes well with steamed basmati rice or jeera rice (cumin rice).