Butter Paneer (Paneer Makhani)

Butter paneer — paneer makhani — was born in the 1950s kitchens of Moti Mahal in Delhi, where cooks folded leftover tandoori chicken's tomato-butter gravy around cubes of fresh paneer to feed the vegetarian half of the table. The name says it all: makhani means "with butter." Two moves carry the dish. First, whole spices — cardamom, cinnamon, cloves — are bloomed in hot ghee so their oils perfume the fat before the tomatoes ever hit the pan. Second, a handful of cashews gets simmered into the tomato base and puréed until the sauce turns glossy and silky with no flour in sight. The finish is the real signature: a pinch of dried fenugreek leaves (kasuri methi) crushed between your fingers, stirred in off the heat with the cream. One word of caution — once the cream goes in, keep the heat low and never let it boil, or the sauce will split. Serve it over Herb Rice Pilaf with Garlic Green Beans on the side for a proper restaurant-style plate.

Butter Paneer (Paneer Makhani) — finished dish

Dinner · Vegetarian, Gluten-free, High-protein, Indian • 45 min

Servings:
4 servings

Ingredients

  • For the paneer:
  • 14 ounces paneer (about 400 g), cut into ¾-inch cubes
  • Warm water, for soaking (optional)
  • For the makhani gravy:
  • 3 tablespoons ghee (or 2 tablespoons butter plus 1 tablespoon neutral oil), divided
  • 3 green cardamom pods, lightly crushed
  • 1 (2-inch) cinnamon stick
  • 4 whole cloves
  • 1 bay leaf
  • 1 medium yellow onion, finely chopped (about 1½ cups)
  • 4 cloves garlic, minced
  • 1 (1-inch) piece fresh ginger, peeled and finely grated
  • 2 teaspoons Kashmiri chili powder (or 1 teaspoon sweet paprika plus ¼ teaspoon cayenne)
  • 1 teaspoon ground coriander
  • ½ teaspoon ground turmeric
  • 1 (15-ounce) can crushed tomatoes (about 1¾ cups)
  • 2 tablespoons tomato paste
  • ¼ cup raw cashews (about 12 to 14)
  • 1 cup water, plus more as needed
  • 1 teaspoon kosher salt, plus more to taste
  • 1½ teaspoons sugar (or honey)
  • ¾ cup heavy cream, plus more for swirling
  • 1½ teaspoons garam masala
  • 2 tablespoons dried fenugreek leaves (kasuri methi), crushed between your fingers
  • For serving:
  • 1 tablespoon cold unsalted butter (optional)
  • Chopped fresh cilantro, for garnish
  • Steamed basmati rice or warm naan, for serving

Steps

  1. Soften the paneer (optional but worth it): Place the paneer cubes in a bowl of warm — not hot — water for 10 minutes to relax the fridge-firmed cheese, then drain and pat very dry with paper towels. This step is what keeps refrigerated paneer creamy rather than rubbery.
  2. Sear the paneer: Heat 1 tablespoon of the ghee in a large Dutch oven or high-sided skillet over medium-high heat. Add the paneer cubes in a single layer and cook, turning gently, until golden on two or three sides, about 2 minutes per side. Transfer to a plate and set aside.
  3. Bloom the whole spices: Melt the remaining 2 tablespoons ghee in the same pot over medium heat. Add the cardamom pods, cinnamon stick, cloves, and bay leaf, and cook, stirring, until the spices are fragrant and the cardamom pods puff slightly, 45 to 60 seconds. This infuses the fat with their oils before anything else goes in.
  4. Cook the aromatics: Add the onion and cook, stirring occasionally, until soft and just beginning to turn golden at the edges, 6 to 8 minutes. Add the garlic and ginger and cook until fragrant and no longer raw, about 1 minute.
  5. Bloom the ground spices: Stir in the Kashmiri chili powder, coriander, and turmeric, and cook for 30 seconds, stirring constantly, until the spices darken slightly and smell toasty. Kashmiri chili brings color more than heat, so the gravy turns a deep brick red without getting fiery.
  6. Build the tomato-cashew base: Add the crushed tomatoes, tomato paste, cashews, 1 cup water, salt, and sugar. Stir to combine and bring to a gentle simmer. Cook, stirring occasionally, until the cashews have softened and the sauce has thickened slightly, 10 to 12 minutes. Remove from the heat and let cool for a few minutes.
  7. Blend until silky: Fish out the cinnamon stick, bay leaf, and cardamom pods, then carefully transfer the sauce to a blender (vent the lid and cover with a towel — hot liquids can splatter). Blend on high until completely smooth and glossy, about 1 minute. Return the sauce to the pot over low heat.
  8. Finish with cream: Stir in the heavy cream, garam masala, and the crushed kasuri methi. Return the seared paneer to the pot and simmer very gently, just until the paneer is warmed through, 3 to 5 minutes. Keep the heat low and do not let it boil, or the cream will split. If the sauce looks too thick, loosen it with a splash of water.
  9. Season and serve: Remove from the heat and stir in the cold butter, if using, letting it melt into the sauce for a glossy finish. Taste and adjust salt and sugar — the sauce should read creamy, tangy, and faintly sweet all at once. Garnish with cilantro and a swirl of cream, and serve hot over basmati rice or with warm naan.

Tips & Variations

Make Ahead

The gravy (through step 7, before adding the cream and paneer) keeps beautifully — make it up to 3 days ahead and refrigerate, then reheat gently and finish with the cream, garam masala, kasuri methi, and paneer just before serving. Like most Indian curries, it only deepens overnight. For a full make-ahead, complete the dish and refrigerate; reheat on low, stirring, and add a splash of water or cream if it has thickened.

Storage

Refrigerate leftovers in an airtight container within 2 hours of cooking, for up to 4 days. Reheat gently over low heat, stirring occasionally — never on high, since the cream can separate. The sauce also freezes well: freeze the finished gravy (without the paneer if you can, so the cheese keeps its texture) for up to 3 months, thaw overnight in the fridge, then warm gently and add the paneer.

Substitutions

Paneer is the star, but extra-firm tofu is the best swap: press and cube 14 ounces of it, sear until golden in step 2, and handle it gently since it's more delicate than paneer. Halloumi or queso fresco also work, though both are saltier, so hold back on the salt. To make it vegan, use a plant-based butter or coconut oil for the ghee, full-fat coconut milk for the cream (the sauce will take on a gentle coconut note), and skip the finishing butter. No cashews? Use 2 tablespoons of almond butter, or for a nut-free version swap in 2 tablespoons of coconut cream and purée in a small boiled potato for body. If you can't find kasuri methi, a tiny pinch of ground fenugreek seeds (start with ⅛ teaspoon — it's potent) adds a similar bittersweet depth, or simply leave it out. Kashmiri chili can be replaced with sweet paprika plus a pinch of cayenne. For heat, add one slit green chili along with the ginger and garlic.

Nutrition

Per serving: About 1¼ cups

490Calories
34gFat
20gSat Fat
85mgCholesterol
720mgSodium
19gCarbs
3gFiber
10gSugars
24gProtein

Reviews

Reviews coming soon! In the meantime, let us know what you think of this recipe.