Bring a pot of water to a rolling boil. Carefully drop in the eggs and cook them for 7 to 10 minutes, depending on your desired consistency. For jammy yolks, aim for 7 minutes; 10 minutes will yield hard-boiled eggs. Transfer the eggs to an ice bath and let them rest for 3 minutes.
Remove the eggs from the ice bath and peel them. Cut them in half and set aside.
Set a deep pan over medium-high heat and add the coconut oil.
Once the oil is hot, add the cardamom pods and cook until the mustard seeds start to pop.
Add the fennel seeds and sauté for 30 seconds until aromatic.
Add the garlic, ginger and red onion, and allow to sweat and caramelize for 3 to 4 minutes.
Toss in the chopped tomatoes, tomato paste and salt. Cook until the tomatoes break down, about 5 to 7 minutes.
Add the curry leaves, turmeric and Kashmiri lal mirch. Mix well.
Pour in the coconut milk and let everything come to a simmer.
Add the halved eggs and allow the curry to simmer for another 5 minutes so that the flavours can really meld together.
Garnish with fresh cilantro and serve with rice or roti.