Combine all marinade ingredients in a bowl and marinate in the fridge for at least 1 hour. You can do shorter but the paneer won’t have the same flavor.
After the paneer has marinated, coat the bottom of a large saute pan with vegetable oil. Heat until shimmering then add the marinated paneer and peppers. Allow to cook on one side for 3-4 minutes then flip and continue cooking until deep golden brown on all sides, about 10 minutes total. Set aside.
In a separate large pan, heat 2 tablespoons of vegetable oil until shimmering. Add the cumin seeds.
When the cumin seeds start sizzling, add the onions and a pinch of salt. Saute until the onions are golden brown, 5-6 minutes.
Add the ginger-garlic paste and cook for 30 seconds.
Sprinkle the flour over the mixture and cook, stirring constantly, for 1 minute.
Add the pureed tomatoes and mix to incorporate, scraping the bits off the bottom of the pan.
After about 5 minutes once the tomatoes have darkened slightly, add the coriander powder, tandoori spice powder, and turmeric.
Stir to combine and cook, stirring often, until the tomatoes have turned into a paste and you see a bit of oil oozing out, 10-15 minutes. Don’t rush this step!
Add enough water to make a sauce. It was 2-3 cups for me but you can make it as thin or thick as you like. Stir to combine and simmer for 5 minutes.
Add the garam masala and the reserved panner and peppers. Simmer for another 5 minutes.
Add the heavy cream, a sprinkle of cilantro, a squeeze of lime, and you’re ready to eat!
Serve with naan bread or rice.