Preheat your oven to 375°F.
In a large pot (6-8 quart), bring water to a boil and add a generous amount of salt (about 4 tablespoons).
In a 10-inch skillet, melt the butter over medium heat. Add the cubed kielbasa and cook for about 5 minutes until golden brown. Remove from the skillet and set aside.
In the same skillet, add the bacon and cook for another 5 minutes until crispy. Remove using a slotted spoon, leaving about 2 tablespoons of fat in the pan. Discard the remaining fat.
Add the chopped onions to the bacon fat and cook until slightly golden, about 5 minutes.
Meanwhile, add the pierogi to the boiling water in batches. Cook until they float to the surface, then boil for an additional minute. Remove with a slotted spoon. Repeat with remaining batches.
Lightly oil or spray a 10x13-inch baking dish. Layer the cooked pierogi in the dish, then top with half of the sausage, bacon, and onions.
In a bowl, mix the mushroom soup with 1.5 cups of milk until smooth. Pour half of this mixture over the first layer of pierogi.
Add a second layer of pierogi, then spread the remaining sausage, bacon, onions, and mushroom soup over it.
Sprinkle evenly with shredded cheese. Cover the dish with foil and bake for 15 minutes.
Remove the foil and bake uncovered for an additional 15-20 minutes, until the cheese is bubbly and golden.
Serve hot with a dollop of sour cream. Enjoy!