Preheat your oven to 325°F (163°C). Lightly grease a baking pan or casserole dish with butter or nonstick spray.
Boil the red potatoes in salted water until fork-tender, about 15–20 minutes. Drain and let them cool slightly. Cut the boiled potatoes in half and arrange them evenly on the prepared baking pan. Sprinkle the frozen peas evenly over the potatoes.
In a medium saucepan, melt the butter over medium heat. Stir in the flour, salt, and pepper, whisking continuously to form a smooth paste. Cook for 1–2 minutes to remove the raw flour taste. Gradually pour in the milk and evaporated milk, stirring constantly to avoid lumps. Continue cooking and stirring until the sauce thickens to a creamy consistency, about 5–7 minutes.
Pour the creamy sauce evenly over the potatoes and peas. Sprinkle the diced onion evenly over the top. Finish by sprinkling the cooked and crumbled bacon over the dish. Place the baking pan in the preheated oven and bake for 20–25 minutes, or until the sauce is bubbly and the bacon is slightly crispy.
Remove the dish from the oven and let it cool slightly before serving. Serve warm as a side dish.
