Take 8 boiled eggs. Peel them and make slits in them. Mix a pinch of salt, Kashmiri red chili powder, and turmeric powder to the eggs. (Pro tip: Do not skip the slits, even though it's tempting to save time. I make 3 to 4 shallow cuts on each egg as that lets the masala seep into the egg and do not taste like plain boiled egg on the inside.)
Heat 1 tbsp of mustard oil in a pan on a medium flame. Put the eggs when hot. Fry them for 1 to 2 minutes until slightly golden. Remove them on a plate when done. Keep it aside. (Pro tip: Mustard oil spits a lot once the eggs go in, especially with wet or slightly damp eggs, so I keep a lid handy to shield the pan halfway through.)
In the remaining oil, sauté 1 tsp of cumin seeds, 4 pieces of green cardamom, 1 piece of cinnamon stick (1 inch in size), 1 piece of bay leaf and 4 pieces of cloves for a few seconds. Then put in 2 pieces of medium-sized, finely sliced onions. Fry for another 2 minutes until the onions change their color lightly.
Now, add 1 piece of ginger (1 inch in size, roughly chopped) and 8 pieces of garlic (peeled, whole cloves). Sauté for another minute or so until the onions become translucent.
Cover the lid and cook for another 4 to 5 minutes on a low flame until everything is nicely cooked. Check the doneness.
Remove the bay leaf and the cinnamon stick. Allow it to cool.
Transfer it to a grinding jar. Grind it to a smooth paste.
In the same pan, heat 1 tbsp of mustard oil again on a low flame. Add the ground onion masala paste. Add ¼ cup of water. Cook for 5 to 6 minutes until the oil separates. (Pro tip: I usually wash the grinder jar with water and add it. It prevents wasting the masala sticking to the sides of the grinder jar).
Add the puree of 2 medium sized tomatoes. Again, cook for 5 to 6 minutes on a low flame until the oil separates. Now add 1 tsp of salt, 2 tsp of Kashmiri red chili powder, 2 tsp of coriander powder, 1 tsp of cumin powder, 1 tsp of garam masala powder, and ¼ tsp of turmeric powder. Mix nicely and cook further for a minute on a low flame.
Add ¼ cup of water. Cook for 4 to 5 minutes on a low flame until the oil separates. Then add 1.5 cups of water more. Bring it to a boil. (Pro tip: I always add the water in two batches rather than all in at once. It lets the gravy come together properly instead of thinning out the masala before it sets.)
Add the fried eggs. Cover and cook for 4 to 5 minutes on a low flame.
Finally, add a few finely chopped coriander leaves and cook for another minute. Check the final consistency of the gravy.
Transfer it to a serving bowl, garnish it with a few more finely chopped coriander leaves and your tasty and spicy homemade Punjabi egg curry is ready to enjoy.