Heat oil in a medium pot or skillet over medium heat.
Add cumin seeds and let them sizzle for a few seconds.
Add chopped onions and sauté until golden brown.
Stir in garlic and ginger paste, cooking for 30 seconds until fragrant.
Add chopped tomatoes, turmeric, coriander, chili powder, and salt. Cook until the tomatoes soften and oil separates.
Add diced potatoes and water. Cover and cook for 10-12 minutes, stirring occasionally, until potatoes are tender.
Make small slits in the boiled eggs and add them to the curry. Stir gently to coat with the gravy.
Sprinkle garam masala and cook for another 3-4 minutes on low heat.
Garnish with chopped cilantro and serve hot with rice, roti, or bread.