Cube onion and tomato, chop ginger ,green chillies.
Heat a pan with a tablespoon of oil/ Butter and add cardamom, green chilli and chopped ginger followed by onion.
Fry till transparent. Add chopped tomatoes and cook covered until mushy.
Cool and blend in a mixer and strain it.
Mean while boil water and keep the paneer immersed in the hot water until use.
Heat pan with remaining oil/ Butter and add the strained mixture.
Add tomato sauce, salt, red chilli, garam masala, pepper powder. Cook covered as it will splutter a lot. Add kasuri methi if adding at this stage
Fry till oil separates and forms like a thick paste.
Add paneer cubes drained from water.
Add milk really slowly with constant stirring, then add cream, mix well.
Heat in low flame for 2-3 minutes. No need to boil, just heat it up, switch off flame.