Toast and grind the whole spices. To toast, heat a skillet on medium heat and add the spices, tossing every few minutes or so until fragrant. Remove from heat and grind with a mortar and pestle.
Heat a large skillet over medium heat and add the ghee.
Sauté the onions, garlic and ginger for 2-3 minutes, until softened and starting to lightly brown.
Add the tomatoes and spices and simmer for 2-3 minutes.
Add the broth and simmer for 5 minutes.
Stir in the coconut milk and eggs and simmer for 5-10 minutes, until the sauce has thickened. (If sauce is too thick, add additional stock. If it's too thin, simmer longer to reduce). Don't add salt until after the sauce reduces.
Add additional salt to taste and serve with basmati rice and/or naan.
Notes
For the best flavor, make sure your spices are fresh. I also highly recommend toasting and grinding whole spices.
When toasting the spices, keep an eye on them so they don’t burn.
You’ll also want to ensure your eggs are fresh. Avoid ones that might be close to their expiry date.
I recommend using a large skillet with high sides so you have plenty of room for the eggs and sauce to simmer without spilling over.
Before adding the can of diced tomatoes, drain them well so the sauce doesn’t turn out watery.
Make sure you cook your aromatics until softened, otherwise you may have bits of crunchy onion in your sauce.
If the sauce is too thick, just add additional stock. If it's too thin, simmer it longer to reduce it.
Hold off on adding the salt until the sauce has reduced and then add to taste.
If you want an extra thick and creamy egg curry, use coconut cream instead of coconut milk.
For an extra spicy curry, add a pinch of cayenne pepper.