Place potatoes into a large pot and cover with salted water; bring to a boil. Reduce heat to medium-low and simmer until tender, about 20 minutes; drain.
Heat vegetable oil over medium heat; saute onion, stirring frequently, until fragrant, 2 to 3 minutes. Add tomato and cook until onion is softened and tomato is tender, 5 to 10 minutes. Stir potatoes, garam masala, cayenne pepper, salt, and sugar into onion-tomato mixture; simmer, stirring frequently, until flavors have blended, about 5 minutes. Stir cilantro into potato mixture and cook for 1 minute.