Heat the oil in a pan over medium heat. Add the cinnamon stick, cloves, green cardamoms, red chillies, and black peppercorns. Fry for a minute until fragrant.
Add the onions and fry until softened and translucent.
Add the ginger, garlic, and green chillies and fry for another minute.
Add the cashew nuts and tomatoes and cook until the tomatoes are mushy.
Remove from the heat and let cool slightly.
Grind the onion-tomato mixture into a smooth paste.
Heat the oil in a separate pan over medium heat. Add the cumin seeds and bay leaf and fry for a minute until fragrant.
Add the ginger-garlic paste and fry for another minute.
Add the onion-tomato paste and cook for 5-7 minutes until the oil separates.
Add the red chilli powder, coriander powder, cumin powder, turmeric powder, and salt. Cook for another minute, stirring constantly.
Add the sliced onions and capsicum and cook for 2-3 minutes until softened.
Add the paneer cubes and cook for another 2-3 minutes until heated through.
Add the garam masala and kasuri methi and stir to combine.
Reduce the heat to low and add the fresh cream.
Garnish with chopped coriander leaves and serve hot.