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.