I always start by preheating my oven to 375°F (190 °C) so it’s ready when I need it. Then I place the ground beef in a skillet over medium heat, breaking it apart and cooking for 7 to 10 minutes or until fully browned. Once done, I drain excess fat to avoid greasiness.
After draining, I return the skillet to medium heat and toss in the chopped onion. I sauté for 3 to 4 minutes until translucent and fragrant. Then I sprinkle salt, pepper, and garlic powder over the beef-onion mix, stirring for another minute so the flavors meld together nicely.
While the beef mixture is cooking, I peel and slice the potatoes as thinly as I can. In a greased 9×13-inch baking dish I lay half of the potato slices in a single, even layer, seasoning with a touch of salt and pepper. Then I spread the beef-onion mix evenly over the potatoes.
I top the meat layer with the remaining potato slices. In a small bowl I whisk together the milk and melted butter, then pour that carefully over the top so it seeps between layers. Finally, I sprinkle 1 to 2 cups of shredded cheese evenly, ensuring complete coverage.
I cover the baking dish with foil and pop it into the preheated oven for 45 minutes to let the potatoes soften. After that, I remove the foil and continue baking for another 15 to 20 minutes until the cheese is bubbly and golden brown. I check doneness by poking a fork into the potatoes — they should be tender. Once baked, I let the casserole rest about 10 minutes before slicing.