Heat oil in a pan over medium heat. Add mustard seeds, cumin seeds, curry leaves, and green chilies. Let them splutter for 30 seconds.
Add chopped onions and sauté until translucent, about 5-6 minutes. Add ginger-garlic paste and cook for another minute.
Add chopped tomatoes, turmeric powder, red chili powder, coriander powder, and salt. Cook until tomatoes break down and oil begins to separate, about 8-10 minutes.
Pour in water and bring to a simmer. Cook for 5-7 minutes to let flavors meld.
Stir in coconut milk and garam masala powder. Cook gently without letting it boil to prevent curdling.
Gently add the hard-boiled eggs to the curry and simmer for 5 minutes to heat through. Garnish with fresh coriander leaves before serving.