Preheat oven to 375°F (190°C). Grease a baking dish.
In a skillet, cook ground beef until browned. Add onion and garlic, cook until soft. Season with salt, pepper, paprika, and Italian seasoning. Drain excess fat.
In a saucepan, melt butter. Whisk in flour and cook 1–2 minutes. Slowly add milk, whisking until thickened.
Stir in cheddar, mozzarella, garlic powder, and mustard powder until smooth.
Slice potatoes thinly and toss with olive oil, salt, and pepper.
Layer half the potatoes in baking dish, then half the beef, then cheese sauce. Repeat layers.
Top with remaining cheddar cheese.
Cover with foil and bake for 40 minutes.
Remove foil and bake 15–20 minutes more until potatoes are tender and cheese is golden.
Rest for 10 minutes before serving.