Set your oven to 350°F (175°C) and lightly coat a 9x13-inch pan with olive oil or butter.
In a skillet, cook the ground beef and chopped onion over medium heat until no longer pink. Drain any fat, then stir in the minced garlic, salt, pepper, and paprika.
Combine the cream of mushroom soup and milk in a bowl, whisking until smooth.
Arrange half of the potato slices evenly in the prepared pan.
Spread half of the cooked beef mixture over the potatoes.
Drizzle half of the soup mixture on top, then sprinkle with 1 cup of shredded cheddar cheese.
Repeat the layering with the remaining potatoes, beef mixture, and soup, finishing by topping with the rest of the cheddar cheese plus the mozzarella if using.
Cover the dish with foil and bake for 45 minutes.
Remove the foil and continue baking for another 15 to 20 minutes until the potatoes are tender and the cheese is bubbling and golden.
Allow the casserole to rest for about 5 minutes before serving. It pairs wonderfully with a crisp green salad or steamed vegetables.