Peel and boil the potatoes, covered, in salted water. Drain, mash and leave to cool.
To make the filling heat up the oil and fry the onions slowly until softened for a few minutes, stirring often (don't brown the onions). Combine with the potatoes. Add the cheese, season well and stir to combine (it's a good idea to use a potato masher for a smooth finish).
To make the dough place the flour, salt and butter on top of your work surface and start combining using a large knife, cutting through the mixture and gradually adding the water into the middle and gathering up the mixture with the knife to prevent the water from escaping. When the dough starts to come together and all the water has been added knead for 2-3 minutes until the dough becomes smooth, soft and elastic. If it sticks to your hands add a bit of flour (not more than 1 tsp) and knead in. Cover with a bowl or wrap in cling film and set aside for 15 minutes.
Divide the dough into 3 parts (easier to work with) and roll out one part (keeping the other 2 covered) on top of a very lightly floured surface as thinly as possible, 2-3 mm in thickness (don't worry, the dough is quite resilient and won't tear easily). Using a glass with a diameter of about 7 cm make round shapes (gather up the excess dough and add to the other dough part).
Place a small amount of the filling (about a teaspoon) in the middle of the round dough shape (if the dough is sticking to the work surface use a knife to help it come off but take care not to tear it). With tips of your fingers stick the edges of the dumpling together, using your pinky to gently push the filling away from the edges and remove any air bubbles - go over the edge twice for each dumpling (your fingertips should be dry so it's a good idea to keep a sheet of paper towel near you to wipe them if they get sticky)
Place the dumplings on a lightly floured surface and cover with a tea towel.
Fill a large pot with salted water, add 1 tsp of oil, cover and bring to boil. Continue making the dumplings as you are waiting for the water to boil. When the water starts boiling carefully place the dumplings in the pot one by one (up to 15 per batch) and quickly but carefully stir with a wooden spoon. When all the dumplings have come up to the surface cook them gently for about 4 more minutes, then switch off the heat and using a slotted spoon transfer onto a large plate. Drizzle with a little olive oil/butter and serve!
Use Polish 'twarog' cheese, which you can buy in a Polish delicatessen.
I recommend using higher starch potatoes (good for mashing), such as Russets, Yukon golds or Maris Piper.
You can make the filling ahead - simply cover and refrigerate overnight.
It is very important to use a generous amount of seasoning in this potato pierogi recipe. Boil the potatoes in salted water, season the filling mixture well (lots of pepper too) and don't forget to boil the dumplings themselves in salted water.
Once you've made 15-20 pierogi cook them as soon as possible so they don't become dry. Best to cook pierogi in batches.
If you aren't using the dumplings straight away place them in an oven proof dish (the oil will prevent sticking to one another), allow to cool and refrigerate (for up to 3 days) until they are ready to be reheated (in the same dish) - cover with tin foil and reheat in the oven. You can also store the pierogi in a microwavable bowl, covered, and reheat later in a microwave.