For the dough... In a large bowl mix together the flour and salt. Add in the egg and stir to incorporate. Add in the sour cream and butter. Using a rubber spoon, mix until just combined.
Remove the dough from the bowl and knead by hand for approx 5 minutes, until combined, and some of the stickiness is gone. Form into a ball.
Wrap in plastic and place in fridge overnight.
For the filling... Boil the potatoes until cooked. Drain and place the potatoes back into the pot.
Add in the remaining ingredients as well as salt and pepper to taste. Mash until relatively smooth, some small chunks are just fine.
Assembly time! Remove the dough from the fridge and cut into 2 pieces. Roll out the dough to about a 1/4 of an inch thick.
Using a glass, approx 2-3 inch, press out circles. The remaining dough can be gently kneaded back together and rolled back out. One thing I did notice is that it was helpful to let the dough rest a few minutes after kneading, it rolled out much easier.
Place a small spoonful of the filling on the rounds. Get a small bowl with water and using your finger rub one side of the circle with water. Fold over to create a crescent shape. Using a fork press the ends to ensure the seam is sealed. I pressed with the fork on both sides to make sure that nothing was going to open up on me after all the work.
In a pot of boiling water, cook the perogies in a few batches just until they float to the top. Place on a lightly oiled baking sheet.
The onions are super simple. Toss the sliced onions into a large sauté pan, over medium heat, with some olive oil, salt and pepper. Cook until golden and softened.
Right before serving I browned the perogies in a few batches. Toss the boiled perogies into a large sauté pan with just a few drizzles of olive oil and lightly brown on each side. Toss with the onions and ENJOY!!!