In a large cooking pot, heat the oil over medium. Add the onions and sauté until light golden brown, stirring occasionally, 15 to 25 minutes.
Add garlic and ginger, and fry for about 4 minutes. Stir in garam masala, chili powder, turmeric, ground coriander, ground cumin and cook about 2 minutes.
Then add the tomatoes, tomato paste, and cook for 5 minutes. Add whisked yogurt, cashew butter, kasuri methi, green chili and salt. Cook for 5 minutes.
Add 1½ cups water, lower the heat and simmer, for about 15 minutes, stirring occasionally. Let the mixture thicken, while the oil surfaces on top. Stir in ½ teaspoon garam masala. Adjust the consistency of sauce, if needed, with additional ½ cup water.
Prick or make cuts in 6 boiled eggs and add it to the sauce. Cut the remaining eggs into half and place on top, yolks facing up. Simmer for 5 minutes until eggs are warm. Stir in half the cilantro and sprinkle the rest on top.
How to boil eggs: Gently place eggs in a large saucepan and fill with water until 1 inch above the eggs. Bring the water to a rolling boil, turn off the heat, cover and let it rest for 8 to 10 minutes. Drain the water. Add ice cold water and let cool. Crack the shell and peel the eggs. Check for more detailed tutorial.
Storage: Refrigerate leftovers for 4 to 5 days. It can be frozen for couple months.
Make Ahead / Meal Planning: Make the sauce and store in refrigerator for 3 to 4 days or freeze for couple months. Use freshly boiled eggs and complete the curry to serve. Swap ½ cup ready prepared fried onions for sautéing onions from scratch.
For dhaba style curry, stir fry boiled eggs in some oil, ¼ tsp chili powder, ⅛ tsp turmeric and then add to the sauce.
Use fresh ginger and garlic for great taste.
Kasuri methi is available at Indian grocery stores.
Check the blog post above for dairy free, nut free, vegan and other variations.