Heat olive oil in a pan. Add cumin seeds and coriander seeds. When they start to crackle, add ginger, garlic and raw cashews. Sauté until fragrant.
Add diced onions, chopped green chillies and cracked cardamom cloves. Cook for 6 to 8 minutes, or until onion are slightly golden.
Add canned diced tomatoes. Cook for another 5 minutes.
Add tomato paste. Mix everything and cook for 2 more minutes.
Turn off the flame and let it cool down for a few minutes.
Add the mixture into a high speed blender and blend into a fine paste. Pour the curry paste back into the same pan and turn on the heat on low. Be careful, the mixture may spatter from the pan.
Add all the spices: salt, black pepper, turmeric powder, red chilli powder, garam masala, garlic powder and sugar. Add 1/2 cup water. Mix well.
Cover with the lid and let it simmer for 20 minutes on low heat, stirring occasionally.
Cut the paneer into small cubes or triangular pieces. Keep aside.
Check the gravy, do a taste test and add more salt if needed.
Add paneer into the gravy and mix. Let it simmer for 5 more minutes so that the paneer can absorb all the flavour.
Garnish with table cream and cilantro and serve hot with naan bread.