Quick Recipe Version (TL;DR)
Quick Ingredients
- 8 large eggs
- 1 tablespoon neutral cooking oil
- 1 large yellow onion, finely diced
- 1 tablespoon finely grated fresh ginger
- 3 garlic cloves, minced
- 1 tablespoon mild curry powder
- 1 teaspoon ground cumin
- 1/2 teaspoon ground turmeric
- 1/2 teaspoon ground coriander
- 1/4 teaspoon cayenne pepper
- 2 cups diced ripe tomatoes
- 1 can full-fat coconut milk, 13.5 ounces
- 1/2 cup water
- 1 teaspoon fine sea salt
- 1/2 teaspoon garam masala
- 1 tablespoon fresh lime juice
- 1/2 cup chopped fresh cilantro
Do This
- 1. Lower the eggs into boiling water, boil for 30 seconds, cover off the heat for 11 minutes, then chill in ice water for 5 minutes.
- 2. Peel the eggs and make four shallow slits in each egg so the sauce can cling to them.
- 3. Cook the onion in oil over medium heat for 7 minutes, until soft and lightly golden.
- 4. Add the ginger, garlic, curry powder, cumin, turmeric, coriander, and cayenne; cook for 30 seconds.
- 5. Add the tomatoes and salt, then cook for 7 to 8 minutes. Stir in the coconut milk and water and gently simmer for 8 minutes.
- 6. Add the eggs and simmer for 5 minutes. Finish with garam masala, lime juice, and cilantro before serving.
Why You’ll Love This Recipe
- Rich coconut milk creates a silky, comforting sauce without any cream.
- Hard-boiled eggs make this an affordable, protein-rich main course.
- The spice level is easy to adjust for mild or heat-loving diners.
- It pairs beautifully with rice or naan and tastes even better after the flavors mingle.
Grocery List
- Produce: 1 large yellow onion, 1 piece fresh ginger, 1 head garlic, 4 medium Roma tomatoes, 1 lime, and 1 bunch fresh cilantro
- Dairy: 8 large eggs
- Pantry: Neutral cooking oil, 1 can full-fat coconut milk, mild curry powder, ground cumin, ground turmeric, ground coriander, cayenne pepper, garam masala, fine sea salt, and optional basmati rice or naan
Full Ingredients
For the Eggs
- 8 large eggs, cold from the refrigerator
- 2 quarts water, for boiling
- 4 cups ice plus 4 cups cold water, for the ice bath
For the Coconut Curry Sauce
- 1 tablespoon neutral cooking oil, such as avocado, canola, or grapeseed oil
- 1 large yellow onion, finely diced, about 1 1/2 cups
- 1 tablespoon finely grated fresh ginger
- 3 garlic cloves, minced
- 1 tablespoon mild curry powder
- 1 teaspoon ground cumin
- 1/2 teaspoon ground turmeric
- 1/2 teaspoon ground coriander
- 1/4 teaspoon cayenne pepper, or 1/8 teaspoon for a milder curry
- 2 cups diced ripe tomatoes, about 4 medium Roma tomatoes
- 1 teaspoon fine sea salt
- 1 can full-fat unsweetened coconut milk, 13.5 ounces
- 1/2 cup water
- 1/2 teaspoon garam masala
- 1 tablespoon freshly squeezed lime juice
- 1/2 cup loosely packed chopped fresh cilantro, divided
For Serving
- 4 cups cooked basmati rice or 4 warm naan, optional
- 1 lime, cut into 4 wedges, optional
- 2 tablespoons fresh cilantro leaves, optional

Step-by-Step Instructions
Step 1: Hard-boil the eggs
Bring 2 quarts of water to a full rolling boil in a medium saucepan over high heat; the water will be approximately 212°F at sea level. Using a slotted spoon, carefully lower the cold eggs into the water one at a time. Let the water return to a gentle boil and cook for 30 seconds. Turn off the heat, cover the pan tightly, and let the eggs stand in the hot water for exactly 11 minutes.
Step 2: Cool and peel the eggs
While the eggs cook, combine 4 cups of ice and 4 cups of cold water in a large bowl. Transfer the cooked eggs directly to the ice bath and leave them for 5 minutes. Gently tap each egg all over, then peel it under a thin stream of cool water. Pat the eggs dry. With a small paring knife, make four very shallow lengthwise slits around each egg, cutting only about 1/8 inch into the white. These slits help the curry sauce cling to the eggs.
Step 3: Soften the onion
Heat 1 tablespoon of neutral oil in a large, deep skillet or wide saucepan over medium heat for 1 minute. Add the diced onion and cook for 7 minutes, stirring every minute or so, until the onion is soft, translucent, and lightly golden around the edges. If the onion begins to brown too quickly, reduce the heat to medium-low.
Step 4: Bloom the ginger, garlic, and spices
Add the grated ginger and minced garlic to the onion. Cook for 1 minute, stirring continuously. Add the curry powder, cumin, turmeric, coriander, and cayenne. Stir constantly for 30 seconds, just until the spices smell fragrant. Do not let the garlic or spices scorch; if the pan looks dry, add 1 tablespoon of water.
Step 5: Build the tomato-coconut sauce
Add the diced tomatoes and 1 teaspoon of sea salt. Cook over medium heat for 7 to 8 minutes, stirring occasionally and pressing the tomatoes with the back of a spoon, until they soften and form a thick, slightly chunky sauce. Pour in the coconut milk and 1/2 cup water, stirring well to combine. Bring the sauce to a gentle simmer, approximately 185°F to 195°F, then reduce the heat to medium-low. Simmer uncovered for 8 minutes, stirring twice. Avoid a rapid boil, which can make coconut milk look oily or separated.
Step 6: Simmer the eggs in the curry
Place the peeled eggs in the sauce and turn them gently to coat. Continue simmering over medium-low heat for 5 minutes, turning the eggs halfway through so they absorb the sauce evenly. The curry should be creamy and thick enough to coat the back of a spoon. If it becomes too thick, stir in water 1 tablespoon at a time. If it is too thin, remove the eggs temporarily and simmer the sauce for an additional 2 to 3 minutes.
Step 7: Add the fresh finishing flavors
Remove the pan from the heat. Stir in the garam masala, lime juice, and 1/4 cup of the chopped cilantro. Taste carefully and add up to 1/4 teaspoon more salt if needed. Let the curry rest for 3 minutes before serving. For an attractive presentation, leave six eggs whole and cut two eggs in half lengthwise to reveal the golden yolks. Spoon the curry into shallow bowls, arrange two eggs in each serving, and garnish with the remaining 1/4 cup cilantro. Serve hot with basmati rice, naan, and lime wedges, if desired.
Pro Tips
- Use full-fat coconut milk: It produces a richer, smoother sauce and is less likely to appear watery than reduced-fat coconut milk.
- Keep the simmer gentle: Once the coconut milk is added, maintain the sauce between 185°F and 195°F rather than letting it boil vigorously.
- Cook the tomatoes thoroughly: Allowing them to soften and concentrate removes their raw acidity and gives the curry a deeper flavor.
- Add lime juice off the heat: This preserves its bright, fresh flavor and balances the richness of the coconut milk.
- Adjust the consistency before serving: Add water for a looser curry, or simmer the sauce uncovered for 2 to 3 additional minutes to thicken it.
Variations
- Spinach egg curry: Stir 3 packed cups of baby spinach into the sauce during the final 2 minutes of simmering, then add the lime juice and cilantro.
- Spicier curry: Increase the cayenne to 1/2 teaspoon and add 1 finely sliced serrano chile with the ginger and garlic.
- Chickpea coconut curry: Replace the eggs with 2 drained and rinsed 15-ounce cans of chickpeas. Simmer the chickpeas in the sauce for 10 minutes.
Storage & Make-Ahead
Refrigerate leftover egg curry in a shallow airtight container within 2 hours of cooking and use it within 3 days. Reheat gently in a covered saucepan over medium-low heat for 8 to 10 minutes, stirring the sauce occasionally, until the eggs and sauce reach 165°F. Add 1 to 2 tablespoons of water if the refrigerated sauce is too thick. Avoid freezing the assembled curry because hard-boiled egg whites can become rubbery. The coconut-tomato sauce can be frozen without the eggs for up to 2 months. Thaw it overnight in the refrigerator, reheat to a gentle simmer, and add freshly boiled eggs. For advance preparation, boil the eggs up to 5 days ahead and refrigerate them unpeeled; the sauce can be prepared and refrigerated separately for up to 3 days.
Nutrition (per serving)
Calories: 390 kcal | Carbs: 17g | Protein: 15g | Fat: 30g | Saturated Fat: 20g | Fiber: 4g | Sugar: 8g | Sodium: 730mg | Cholesterol: 372mg
