1. To make the pastry, sift the flour and salt into a bowl. Stir in the oil. Gradually stir in the warm water until the dough comes together.
2. Knead the dough on a floured surface until smooth. Wrap in plastic wrap and let stand at room temperature for at least 30 minutes.
3. To make the filling, cook the unpeeled potatoes until tender, about 25 minutes. Drain and cool. Peel and cut into small dice.
4. Cook the cauliflower in a saucepan of lightly salted, boiling water for 2–3 minutes, or until just tender. Drain.
5. Heat the oil in a large, deep frying pan over medium heat. Add the shallots and cook for 3–4 minutes, stirring frequently, until tender. Add the potatoes, cauliflower, peas, curry powder, cilantro, and lemon juice. Reduce the heat to low and cook, stirring occasionally, until heated through, about 3 minutes. Let cool.
6. Divide the dough into 8 equal balls. Roll out each into a 7in (18cm) round. Cut each round in half, one at a time, and shape into a cone, moistening the edges of the cone to seal. Spoon a little of the filling into a cone, moisten the top edge, and press down over the filling to enclose it. Transfer to a wax paper lined baking sheet.
7. Pour in enough oil to come halfway up the sides of a large, heavy saucepan, and heat to 350°F (180°C). In batches, fry the samosas for 3–4 minutes, or until golden brown on both sides. Transfer to paper towels to drain. Serve warm or at room temperature.
Replace 8oz (225g) potatoes with an equal amount of ground lamb. Cook the lamb with the shallots until well browned and drain off any excess fat before combining with the other ingredients.