Combine all the ingredients for the spice paste in a blender. Blend into a smooth paste adding just enough water.
Heat 1 tbsp oil in a saute pan, add the potatoes and cook till they are lightly browned, about 3~5 minutes. Remove onto a plate and set aside.
In the same pan, heat the remaining 2tbsp oil and add the grated onion. Cook until the onions turn lightly browned and don't smell raw anymore.
Add ginger+garlic paste and cook for a minute.
Add the ground spice paste and cook for 1~2 minutes.
Stir in the tomato puree and cook for 3~4 minutes.
Add the potatoes, ½cup of water and salt. Simmer the curry for 4~5 minutes. Finally add the milk and cook for 3~4 minutes to heat through. Sprinkle chopped fresh cilantro and serve with roti or rice.