Fine chop or puree the onions. If you prefer to puree the onions, first boil diced onions in 2 cups of water for 4 mins until transparent. Drain the water and puree them in a blender.
Refer notes below to boil eggs perfectly. Wipe dry the boiled eggs or air dry until moist free. Prick each egg with a fork 2 to 3 times. We do this so the eggs don't splatter oil and burst in the pan while frying.
Heat 1 teaspoon ghee or oil in a nonstick pan & Fry the eggs until golden & slightly blistered. Remove the eggs to a plate & optionally sprinkle 2 to 3 pinches each of chilli powder & garam masala.
Heat 2 tbsp oil and add bay leaf, cardamoms and cinnamon.
When they begin to sizzle, add onions & green chilli. Saute onions until golden and the raw smell has almost gone.
Add ginger garlic paste and saute until the raw smell goes off, for about a minute.
Then add tomatoes and saute well until the mixture turns mushy.
Next add red chili powder, garam masala, coriander powder, turmeric and salt. Saute everything well until a nice aroma comes out & the mixture leaves the sides of the pan.
Pour water 1 to 1¼ cups water and mix well. Cover and cook until the curry thickens and you see traces of oil over the curry.
Taste test and adjust salt. If required add sugar. Add the fried eggs and kasuri methi. Mix and simmer for a while. Sprinkle chopped coriander leaves. Serve punjabi egg curry with roti or naan or plain rice.
Optional - Pour 3 to 4 tbsps cream or Blend together 10 cashews with half cup water to smooth milk. Pour it to the curry. Cook covered for 2 to 3 mins until the curry turns thick.
