Heat oil in a large skillet, add cloves, and cumin seeds.
Add ginger-garlic paste and let the raw smell disappear.
Add the onion, and let the onion turn slightly brown. You can add a little salt for faster cooking.
Add the tomato and let it turn soft.
Add the coriander powder, cumin powder, and nutmeg powder. Turmeric powder and chili powder are optional.
Mix well and let it cook till the oil starts to separate. Sprinkle some water to prevent burning, if you think the mixture is getting too dry.It also helps bring the oil out faster.
To get a smoother gravy, you can either grind the onion and tomato mixture or skip this step and go to the next step. If you grind it, add a little oil to the same pan and pour the ground mixture back in. Add the pureed spinach leaves, ½ cup or so of warm water, salt and let it cook for a few minutes on medium-low flame.
Stir the mixture often.
Add finely diced coriander leaves, kasuri methi and garam masala and mix well.
Add the paneer pieces, lightly mix into the gravy and let it cook for a few more minutes. (If a couple slices of paneer crumbles into the gravy, it tastes even better.)
Add the cream, mix well. Check the salt. And switch off.