Preheat oven to 350°F. Grease a 9x13-inch baking dish.
In a large skillet over medium-high heat, cook ground beef until browned and crumbly, 5-7 minutes. Drain excess grease.
In a medium bowl, combine cream of mushroom soup, milk, chopped onion, salt, and pepper. Mix until smooth.
Layer in the prepared baking dish: thin layer of soup mixture, layer of potato slices (slightly overlapping), half the cooked beef, soup mixture. Repeat layers, ending with potatoes on top. Pour remaining soup mixture over all potatoes.
Cover tightly with aluminum foil. Bake 60 minutes.
Remove foil and test potatoes with a fork - should be tender throughout. If not, re-cover and bake another 15-20 minutes.
Once potatoes are tender, remove foil and sprinkle cheese evenly over top.
Return to oven uncovered and bake 5-10 minutes until cheese is melted and bubbly.
Let rest 10 minutes before serving.