Preheat the oven to 350 degrees.
Saute the ground beef and onion in a skillet over medium high heat on the stove until the meat is completely browned and the onion has softened.
Drain the excess fat, and season with salt and pepper to taste.
In a saucepan, combine the butter and flour until smooth. Saute over medium heat for about 1 minute.
Slowly whisk in the milk a little at a time. Cook until the sauce thickens.
Stir in the cheese until completely melted, and add salt and pepper to taste. Place a layer of the potato slices in a 9x13 baking dish.
Top with half of the meat mixture and then ⅓ of the cheese sauce.
Add another layer of potatoes, then meat and ⅓ of the cheese sauce. Top with one last layer of potatoes and the remaining cheese sauce.
Bake covered for 1 hour and 10 minutes.
Remove the cover, and bake for 20 minutes uncovered.
Let sit for 10 minutes before serving.
Enjoy!