- 4 cups all-purpose flour, divided, plus more for surface
- 12 ounces Yukon Gold potatoes (about 2 medium), peeled, cut into 1-inch pieces
- 12 ounces kielbasa, casings removed, cut into ½-inch pieces
- All-purpose flour (for dusting)
- 1 large egg, beaten to blend
- ½ cup (1 stick) unsalted butter, divided
- Caramelized onions and sour cream (for serving)
Whisk eggs, milk, sour cream, salt, and ½ cup water in a large bowl until combined. Add 3¾ cups flour and mix with a wooden spoon until a shaggy dough forms. Knead in bowl with your hands until dough starts to stick together. Turn out dough to a work surface and continue to knead, adding ¼ cup flour as needed if dough sticks to surface (you may not use all flour), until smooth and supple. Transfer dough to a lightly floured surface and cover with an overturned bowl or plastic wrap; let rest 1–2 hours.
Cook potatoes in a medium pot of boiling salted water until tender, 10–15 minutes. Drain and let cool slightly, then pass potatoes through a ricer or mash with a potato masher in a medium bowl.
Meanwhile, pulse kielbasa in a food processor until finely chopped. Heat oil in a medium skillet over medium. Cook caraway seeds, stirring, until fragrant, about 30 seconds. Add kielbasa and cook, stirring occasionally, until kielbasa is browned and crisp, 5–8 minutes. Let cool. Add kielbasa mixture and sauerkraut to bowl with potatoes and mix to combine.
Do Ahead: Filling can be made 2 days ahead. Cover and chill.
Lightly dust 2 parchment-lined rimmed baking sheets with cornstarch and cover loosely with plastic.
Using a bench scraper or knife, divide dough into fourths. Place 1 piece on a lightly floured surface. Dust remaining pieces with flour and cover with plastic. Roll out dough to a thickness of less than ⅛", frequently lifting up dough to dust with flour to prevent sticking. Punch out circles with cutter. Gather dough scraps into a ball and set aside with other pieces of dough; keep covered in plastic.
Working with 1 round at a time, dip fingertips in egg wash and coat edges of round. Transfer about 1 Tbsp. filling to 1 side of round. Grasp dough from opposite side and pull up and over filling, stretching slightly, pressing down to seal edges together, and creating a semicircle. Crimp rounded edge with tines of a fork that have been dipped in flour. Transfer to prepared baking sheet, tucking underneath plastic. Repeat with remaining rounds, filling, dough pieces, and, if needed, leftover dough scraps (you should have 50 total).
Working in batches, gently lower 6–8 pierogies into a large pot of boiling salted water with a spider or slotted spoon. Cook until wrinkly, slightly translucent, and floating, about 2 minutes.
Meanwhile, heat 1 Tbsp. butter in a medium skillet over medium just until it starts to brown. Using spider or slotted spoon, transfer pierogies directly from water to browned butter and cook, turning once, until golden brown and crisp on both sides, about 3 minutes. Transfer to a plate, drizzle with remaining butter in skillet, and season with salt. Repeat with remaining pierogies and butter. Serve with caramelized onions and sour cream.
Do Ahead: Uncooked pierogies can be formed 1 month ahead. Freeze solid on baking sheets, then transfer to a resealable plastic bag. Boil straight from freezer, adding 1 minute to cooking time.