This restaurant-style paneer butter masala recipe is creamy, sweet, and lightly spiced. Made with a gravy base of onions, tomatoes, and butter, it’s perfect for serving with basmati or jeera rice and naan.

If you’ve ever ordered butter chicken at an Indian restaurant, paneer butter masala will feel very familiar. Unlike matar paneer or palak paneer, paneer butter masala uses a similar curry base to butter chicken. The primary difference is the protein, with paneer butter masala using paneer instead of chicken. If you’re unfamiliar, paneer is a firm, mild Indian cheese that holds its shape when cooked and absorbs the flavor of the gravy.
Also called butter paneer and paneer makhani, paneer butter masala comes from North Indian cuisine and is known for its smooth, balanced sauce. The tomatoes add acidity and brightness, while butter and cream create richness without being overly heavy.
My version keeps those classic restaurant-style flavors while using approachable techniques and simple ingredients to create soft paneer and a rich, silky gravy at home.
Ingredients and Notes
See the recipe card below for the complete ingredient list and instructions.
Paneer
- Whole Milk – Make sure to use full-fat milk for the best results. Lower-fat milk won’t form curds as well and can result in a softer, less structured paneer.
- Lemon Juice – The acidity helps separate the milk into curds and whey. Fresh lemon juice provides a clean, slightly bright flavor, but white vinegar works well, too.
Butter Masala Gravy
- Butter and Neutral Oil – Butter adds richness, creating the signature flavor we want. Then, a small amount of neutral oil helps prevent it from burning as the base cooks.
- Onion – Use white or yellow onions to create the foundation of the sauce. Cooking them low and slow helps build sweetness and depth.
- Ginger-Garlic Paste – This adds warmth and complexity to the dish.
- Tomato Purée – Don’t confuse this with tomato paste, which will create a much thicker, more concentrated taste. Using high-quality canned tomatoes or well-strained fresh tomatoes will create a smoother, more balanced sauce.
- Seasonings – Kashmiri red chili powder adds vibrant color with mild heat, while coriander and garam masala bring warmth and depth. Kasuri methi (dried fenugreek leaves) is also a key ingredient, providing a finishing touch that gives the dish its signature restaurant-style aroma. Without the kasuri methi, the flavor of the gravy falls a bit flat.
- Sugar – A small amount helps balance the acidity of the tomatoes.
- Vegetable Stock – This helps loosen the sauce, combining the ingredients and contributing to the silky consistency. Adjust the amount depending on how thick or saucy you prefer your curry.
- Heavy Cream – This adds richness and creates a smooth, velvety texture.
How to Make This Paneer Butter Masala Recipe from Scratch
1. Prepare the Paneer




2. Make the Gravy





Nick’s Tips for Success
- Keep the heat low when cooking the onions. You want them soft and translucent, not browned. This creates a smoother, slightly sweet base without overpowering the gravy.
- Don’t overcook the paneer. Soft paneer can turn rubbery quickly. Sear it lightly, then simmer it in the sauce for two to three minutes at the end of cooking, just long enough to heat it through.
- Let the spices bloom. Cooking the ginger-garlic paste and spices in butter and oil before adding liquid helps deepen the flavor and removes any raw taste.
- Blend for a silky texture. For a true restaurant-style finish, blend the gravy until smooth. Even a quick blend makes a noticeable difference.
- Crush the kasuri methi. I like to crush the kasuri methi between my palms before adding it to the curry to release its aroma and enhance the flavor.
Paneer Butter Masala Recipe

Equipment
- 1 Rice Cooker or Medium Pot
- 1 Large Pot
- 1 Cheesecloth or Fine Mesh Strainer
- 1 Medium Skillet
- 1 Large Wide Pan or Sauté Pan
- 1 Immersion Blender or High-Speed Blender
Ingredients
For the Rice
- 2 cup (400 gram) basmati rice
- 3 cup (700 milliliter) water
- ½ teaspoon (3 gram) salt
For the Paneer
- 1 gallon (3.79 liter) whole milk
- ⅔ cup (150 milliliter) lemon juice or white vinegar
- cold water, to rinse curds
- for searing: neutral oil or ghee
For the Butter Masala Gravy
- 6 tablespoon (85 gram) butter, divided
- 1 tablespoon (15 milliliter) neutral oil
- 2 medium onion, finely chopped
- ¼ cup (60 gram) ginger-garlic paste
- 3 cup (700 milliliter) tomato purée (from canned San Marzano or ripe fresh tomatoes), strained
- 1 tablespoon (8 gram) Kashmiri red chili powder
- 2 teaspoon (4 gram) ground coriander
- 2 teaspoon (12 gram) salt
- 2 teaspoon (8 gram) sugar, or to taste
- 2 cup (475 milliliter) vegetable stock
- ¾ cup (177 milliliter) heavy cream
- 2 teaspoon (1 gram) kasuri methi, crushed between palms
- 2 teaspoon (4 gram) garam masala
For the Sides & Finishes
- butter naan, warmed and brushed with butter
- red onion, thinly sliced
- lemon and lime wedges
- heavy cream
- warm ghee
Instructions
For the Rice
- Rinse the basmati under cold water until the water runs mostly clear.2 cup basmati rice
- Add the rinsed rice, water, and salt to a rice cooker and cook using the white rice setting. Alternatively, combine the ingredients in a pot on the stove, bring the liquid to a boil, cover, reduce the heat, and simmer for 15 minutes.3 cup water, ½ teaspoon salt
- Fluff gently with a fork, cover, and keep warm.
For the Paneer
- In a large pot, bring the milk to a gentle boil. Immediately reduce the heat to prevent scorching.1 gallon whole milk
- Slowly stir in the lemon juice or vinegar until curds form and fully separate from the whey.⅔ cup lemon juice or white vinegar
- Strain the mixture through a cheesecloth and rinse the curds with cold water to remove acidity.cold water
- Transfer the curds to a square glass container and press lightly for ten to fifteen minutes for a soft but sliceable paneer. Press overnight for a sturdier cheese, if preferred.
- Remove the paneer from the container and cut it into large cubes.
- Heat oil or ghee in a medium skillet over medium heat. Lightly sear the paneer until each cube is just golden on the edges. Transfer to a paper towel and set aside.for searing: neutral oil or ghee
For the Gravy
- Heat two tablespoons of butter and oil in a wide pan over medium heat.6 tablespoon butter, 1 tablespoon neutral oil
- Add the onions and cook low and slow until they're soft and translucent, not browned, about eight minutes.2 medium onion
- Add the ginger-garlic paste and cook until fragrant and any raw smell disappears, about 30 seconds.¼ cup ginger-garlic paste
- Stir in the tomato purée, chili powder, coriander, salt, and sugar.3 cup tomato purée (from canned San Marzano or ripe fresh tomatoes), 1 tablespoon Kashmiri red chili powder, 2 teaspoon ground coriander, 2 teaspoon salt, 2 teaspoon sugar
- Reduce the heat to low and cook until the sauce thickens, darkens slightly, and the fat separates at the edges.
- Blend with an immersion blender until smooth (optional but recommended).
- Add water or stock to loosen the gravy and simmer gently for about 20 minutes.2 cup vegetable stock
- Stir in the cream and crushed kasuri methi.¾ cup heavy cream, 2 teaspoon kasuri methi
- Finish with the remaining butter and garam masala.2 teaspoon garam masala
- Add paneer and simmer for two to three minutes. Do not overcook.
For the Sides
- Warm naan in a dry pan or oven and brush with butter.butter naan
- Thinly slice the red onion.red onion
- Cut the lemon and lime into wedges.lemon and lime wedges
For Plating
- Ladle paneer butter masala into a shallow bowl.
- Drizzle cream in a loose spiral and finish with a small ghee swirl in the center.heavy cream, warm ghee
- Serve with cooked basmati rice, naan, sliced onions, and citrus wedges on the side.
Video

Notes
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
Like this recipe? Rate & comment below!FAQs
Paneer usually turns rubbery when it’s overcooked. Unlike other cheeses, it doesn’t melt when exposed to heat. Instead, it firms up. To achieve soft paneer, lightly sear it, and then simmer it at the end of cooking just until it’s warmed through. If your paneer feels a bit firm, you can also soak it in warm water for ten minutes before adding it to the curry to help soften it.
I always serve my butter paneer recipe with basmati rice, cooking it in the background while I prepare the dish. I like to add a side of warm garlic naan or roti, too, along with sliced onions, lemon wedges, or a fresh cucumber salad to balance the richness. You can also stir peas into the gravy for extra color and texture if desired.
Yes, paneer is a surprisingly good source of protein, providing about 18-25 grams of protein per 100 grams, depending on the brand or how it’s made. It’s made from whole milk, so it also contains fat, which contributes to its rich texture. While paneer butter masala is more of an indulgent dish due to the butter and cream, it still provides a satisfying amount of protein compared to many other vegetarian curries.
I use fewer ingredients than many butter paneer recipes I’ve seen online, letting the warm, buttery flavors shine. However, if desired, you can experiment by adding additional spices like cardamom, cinnamon, cloves, or a bay leaf.
Yes, traditional paneer butter masala is dairy-heavy, using cheese, butter, and cream, but you can make a dairy-free version that’s still rich and flavorful. To do so, replace the paneer with extra-firm tofu or a firm vegan paneer. Then, swap the butter with neutral oil or a plant-based butter, and use full-fat coconut milk or coconut cream in place of the heavy cream. For a thicker, silkier consistency, I recommend blending a spoonful of cashew cream into the gravy, too. The end result won’t be traditional, but the flavor will be similar.




I had never tried paneer butter masala before this recipe, but it’s definitely a new favorite!