In a medium pot add about 3 inches of water or enough water to fully submerge eggs. Bring water to a rolling boil.
Gently add the 4 eggs to the boiling water and cook for 7 minutes, for a medium boiled egg that has a slightly set center. Read here for more tips on cooking eggs to your liking. Prepare a bowl with ice and water to submerge the eggs. This helps stop the eggs from continuing to cook.
When the eggs reach their cooking time, use a slotted spoon to remove the eggs and transfer them to the ice water. Peel eggs and rinse to remove any small bits of shell that may remain on the surface. Add 2 tablespoons vegetable oil to a medium pan on medium heat. Wait until the oil has warmed up and then add 20-30 curry leaves. The curry leaves will start popping and perfume the oil. If the curry leaves pop out of control, you can reduce the heat or turn it off completely for a couple of seconds.
Add 1-2 Thai green chilis, 2 tablespoons ginger (grated), and 6 garlic cloves (minced), and saute for 1-2 minutes until the garlic and ginger soften.
Add 2 red onions (chopped), 1 tablespoon coriander powder, 1 ½ teaspoons cumin powder, ½ teaspoon turmeric, ½ teaspoon garam masala, 1 teaspoon sugar, and ½ teaspoon sea salt, and cook for 3-5 minutes until the raw flavor of the spices mellow and the onions soften.
Add 1 15- ounce can of crushed and peeled tomatoes and saute for 3-4 minutes. If using fresh tomatoes, add 1 cup of water to the pan to help the tomato break down. Turn the heat to medium-high and allow the onion tomato mixture to simmer for another 10-15 minutes, or until the liquid has reduced in half into a jammy consistency and the raw taste of the tomatoes and spices mellow. At this stage, taste the egg roast and adjust for salt as needed.
Ladle the egg roast into a serving bowl. Cut the boiled eggs in half and tuck them into the curry yolk side up. Garnish with chopped 1-2 sprigs of cilantro and enjoy!