Boil scrubbed potatoes and sweet potato in medium saucepan. After 15 minutes, remove potatoes. Allow sweet potato to cook for another 5 minutes. Remove and allow potatoes to cool. Peel potatoes and cut into small cubes.
Heat vegetable oil in a fry pan over medium heat. Saute onion for 1 minute. Add curry powder and continue to stir for 2 minutes until curry powder is fragrant.
Add cubed potatoes and sweet potato. Stir to coat potatoes with spices. Pour in water and season with salt. Add chopped cilantro and continue to stir to get everything well mixed.
Turn off stove. Transfer to a bowl and allow filling to cool.
Combine all-purpose flour, salt, and margarine in a large bowl. Mix with a spatula. Slowly add water a little at a time. Knead to form a soft, non-sticky dough. You may or may not require the full ½ cup (120ml) water.
Continue to knead the dough in the bowl or on a clean work surface for 3 to 4 minutes until smooth. Form dough into a ball and place it back into the bowl. Cover with a towel and allow dough to rest for 15 minutes.
Remove dough from the bowl onto a lightly floured surface. Roll out dough to about 1/8 inch thick. Using a 3½ to 4 inch diameter lid or bowl, cut out as many circles as possible. Knead the edges back into a ball. Roll it out and cut more circles until all dough is used up.
Forming the Karipap
Place a piece of dough on your palm. If it has shrunk a little, spread it out gently with your fingers. Place a tablespoon of filling in the center.
Fold the dough into a semi circle. Seal by pressing and pleating the edges together. Repeat with the remaining pieces of dough.
Frying the Karipap
Heat about an inch of vegetable oil in a saucepan.
Deep fry karipap over medium heat for 3 to 4 minutes or until golden brown, turning once. Remove and allow karipap to drain in a metal strainer.
To make ahead, shape karipap (curry puffs) and store in the refrigerator the day before. Deep fry the next day when ready to eat.