Heat butter and oil in a pan over medium heat.
Add chopped onions and sauté until soft and golden.
Stir in ginger garlic paste and cook for about 1 minute until fragrant.
Pour in the tomato puree and cook until the sauce thickens.
Add red chili powder, turmeric, coriander powder, and salt and mix well.
Simmer the sauce for about 5–7 minutes until the oil begins to separate.
Add paneer cubes and gently mix into the gravy.
Stir in cream and grated cheese until the sauce becomes smooth and rich.
Sprinkle garam masala and sugar and simmer for another 3 minutes.
Garnish with chopped cilantro and a small swirl of cream before serving.