Peel the onions and wash well. Now, wash the tomatoes. Cut the onions into halves or quarters. Alternately, you can also use pearl or button onions instead of regular onions.
In a pan, heat water until the water begins to boil. Now, add the onions and tomatoes and cook for a minute or two. At this point of time, switch off the flame. Let the onions and tomatoes lighten or blanch in the hot water for 20 to 25 minutes.
Now remove the water and let the onions cool. Once they are cooled, remove each individual layer of each onion and keep them aside.
In a pan, add 1 tsp of butter. Once the butter is heated, add onion layers and stir until they are light brown on the sides.
Now, take the tomatoes and remove the skin. Finely chop them. On the side also chop two medium onions into fine pieces.
In a pan, add oil. Once the oil is heated, add cardamoms, cinnamon, cloves, bay leaf, mace and dry red chilies. Stir them until the spices release their fragrance.
Now add the finely chopped onions and saute until they turn golden.
Now add the tomatoes and saute. Add ginger-garlic paste. Stir well and saute of very low flame until the oil is released from the side. Make sure the tomatoes are soft and completely cooked.
Now add cumin powder, coriander powder, turmeric powder, black pepper powder, garam masala powder, nutmeg powder. If you would like the pyaza to be slightly spicy add 1/4 to 1/2 tsp of red chilli powder.
Stir and saute well. Now add the blanches onion layers that you had kept aside. Niw you can add the paneer cubes.
Add salt to taste and stir well. Let the paneer cook for 2 minutes.
Now add low fat cream. Saute gently and cook for a minute.
Add 12 tsp crushed dry fenugreek leaves or kasuri methi.
Garnish with coriander leaves or ginger cut in julienne or grated paneer.