Sift the flour and baking powder into a large mixing bowl, add the salt and sugar and mix well. Add the ghee, butter or oil and rub into the flour until it resembles breadcrumbs.
Gradually add 175ml/6fl oz warm water in dribbles until the dough is pliable but quite stiff. Depending on the flour used, you may not need all the water.
Turn the dough out onto a lightly floured work surface and knead for 10 minutes until it feels smooth and silky. Place in a lightly floured bowl, cover and leave to rest for 1–3 hours.
When rested, divide the dough into eight equal sized pieces. Take each piece and shape into a patty. Dust the patties lightly with flour and roll out to 18cm/7in discs.
Spread half a tablespoon of the melted unsalted butter over the top of each disc and dust lightly with some extra flour.
To layer the paratha, make a cut from the middle of each disc to the outer edge, then roll the paratha tightly from the cut to make a cone. Place the wide end on a clean work surface and press down to form a patty, this time with layers. When all the discs have been made into layered patties, cover and leave to rest in the fridge for 2 hours.
Take the patties out of the fridge 10 minutes before you are ready to cook them, to bring them to room temperature. Dust with flour and roll into 15cm/6in discs. As you roll out each paratha, place them onto a plate, layering baking paper between each one to stop them sticking to each other.
Heat the ghee in a wide heavy saucepan over a medium-high heat. Carefully slide each paratha into the hot ghee and use the back of a slotted spoon to push the paratha down and keep it submerged. Fry on each side for 2 minutes, until the surface is crisp and brown. Drain on kitchen paper while you cook the rest.
If pre-fried before serving, wrap each paratha in baking paper and then again in kitchen foil and reheat in an oven set to 180C/160C Fan/Gas 4 for 15 minutes.