Preheat oven to 375°F (190°C) and grease a 9x13 inch baking dish.
In a large skillet over medium-high heat, brown the ground beef with diced onions until meat is cooked through and onions are translucent.
Stir in minced garlic and cook for 1 minute, then drain excess fat and set beef mixture aside.
In a medium saucepan, melt butter over medium heat. Whisk in flour and cook for 2 minutes to create a roux.
Gradually whisk in milk, salt, and pepper. Continue whisking until the sauce thickens and reaches a simmer.
Remove sauce from heat and stir in 1.5 cups of shredded cheddar cheese until melted and smooth.
Layer half of the sliced potatoes in the bottom of the prepared baking dish. Top with the ground beef mixture.
Layer the remaining potatoes over the beef and pour the cheese sauce evenly over the top.
Cover with foil and bake for 45 minutes.
Remove foil, sprinkle with remaining 0.5 cups of cheese and paprika, and bake for an additional 15 minutes or until potatoes are tender and top is golden brown.