Pour 3 cups water to a pot. Gently place the rinsed eggs and boil on a medium heat. Cover the pot & boil until you see cracks on the eggs. Turn off the stove and rest the eggs for 10 mins. Discard the water & keep the eggs immersed in cold water to cool down.
Then remove the shell. Pierce with a fork randomly to make some gashes. This helps the eggs to absorb the flavors.
Heat a pan with oil. Add cumin, bay leaf, cloves, cardamoms and cinnamon. Allow them to splutter.
Add onions, sprinkle salt and fry till onions turn slightly brown or caramelize to enhance the aroma.
Optional step - Skip this step if using yogurt. While the onions fry, make a fine paste of the cashews or coconut with some water. You can also blend together tomatoes and cashews.
Add ginger garlic paste to the onions and saute till it becomes fragrant.
Next add tomatoes, fry till they turn mushy.
Add chili powder, turmeric and garam masala powder. Fry till it begins to smell good.
Pour the yogurt or cashew paste or coconut paste, fry till the mix leaves the sides of the pan.
Add eggs, mint leaves, coriander leaves. Fry for 2 mins , preferably till you get a mint aroma.
Pour water just enough to partially cover the eggs. Cook covered till the egg masala thickens.
Sprinkle some kasuri methi if you have.
Serve egg masala curry with rice, roti or paratha.