- 1 14-ounce paneer (see note 1)
- 6 tablespoons plain whole milk yogurt (see note 2)
- 1 teaspoon grated ginger
- 2 cloves of garlic, grated
- 1 teaspoon cumin
- 1 teaspoon paprika
- 1 teaspoon kosher salt
- 3 tablespoons safflower or canola oil
- 2 tablespoons safflower or canola oil
- 1 medium onion, thinly sliced (about 1 cup sliced)
- 1 1/2 teaspoons kosher salt, divided
- 2 teaspoons grated ginger
- 4 cloves garlic, minced
- 1 tablespoon ground coriander
- 2 teaspoons paprika
- 1 teaspoon garam masala
- 1/2 teaspoon turmeric
- 1/2 teaspoon freshly ground black pepper
- 4 tomatoes, chopped (about 2 1/2 cups chopped, see note 3)
- 2 teaspoons sugar
- 3/4 cup water (can substitute with broth)
- 3 tablespoons heavy cream
- 1/4 to 1/2 teaspoon cayenne pepper (see note 4)
- Slice the block of paneer into 1-inch cubes. Then, slice each cube into 2 or 3 slices. Transfer the paneer to a mixing bowl.
- In a small bowl, stir the yogurt, ginger, garlic, cumin, paprika, and salt. Pour this yogurt marinade over the paneer and mix together. Refrigerate the paneer for at least 30 minutes.
- Once the paneer has been marinated, pan fry the paneer. Heat a nonstick frying pan (or well-seasoned cast-iron skillet) with 1 1/2 tablespoons of oil over medium heat. Arrange the pieces of paneer over the pan in a single layer. You probably need to fry the paneer in batches. Cook for 2 to 3 minutes until golden brown. Flip over all the pieces, and pan fry for another 2 minutes.
- Transfer the fried paneer to a plate and turn off the heat. Quickly wipe down the pan with a paper towel and return the heat to medium.
- Drizzle the remaining 1 1/2 tablespoons of oil to the pan and cook the remaining paneer. Because the pan is very hot already, be careful as you add the paneer to the pan, as it will splatter. Save any leftover yogurt marinade. You will add it to the sauce later. Transfer the cooked paneer to a pan.
- In a separate large sauté pan, add another 2 tablespoons of safflower oil over medium heat. Add the onions and 1/2 teaspoon salt and cook for 5 minutes. Stir frequently to prevent the onions from burning. If the onions brown very quickly, reduce the heat slightly.
- Add the ginger, garlic, coriander, paprika, garam masala, turmeric, black pepper, and remaining teaspoon of salt to the skillet. Cook for 30 seconds and coat the onions with the spices.
- Add the tomatoes, sugar, and water, and reduce the heat to medium-low (see note 5). Cover the pan, and let everything simmer for 10 minutes. Remove the lid and add the heavy cream, leftover yogurt marinade, and cayenne pepper. Stir to combine.
- If you are blending the sauce, turn off the heat now and let the sauce cool for 5 minutes before transferring to a blender to blend. Pour the sauce back into the pan and turn the heat to medium.
- Finally, add the cooked paneer to the sauce and let it heat up for about 1 minute. Turn off the heat.