Heat the coconut oil in a pan over medium-high heat and fry the mustard seeds, cloves, cinnamon and cardamom just until fragrant. Be careful not to scorch them.
Add the onions and fry until lightly browned, 6-8 minutes. Add the garlic, ginger, chile peppers, garam masala, coriander, turmeric, ground fennel, curry leaves and Kashmiri chile powder and cook for 2 minutes.
Add the tomatoes and ketchup and cook for 4-5 minutes, stirring frequently.
Add the coconut milk and salt and bring to a boil. Reduce the heat to medium-low and simmer, covered, for 20 minutes, stirring occasionally. Stir in the cilantro. Carefully add the eggs, cut-side up, and simmer uncovered for another 3-4 minutes to heat through.
Serve with your choice of naan, chapati, paratha, bhakri, rice, pulao, biryani, or wrapped in a delicious homemade dosa.
This curry can be made well in advance (and the flavor will only get better). Simply reheat it and then add the cilantro and eggs just before serving. Done! A quick weeknight meal ready to go!