Preheat oven to 375°F (190°C) and grease a 9x13-inch baking dish with cooking spray or olive oil.
Heat olive oil in a large skillet over medium heat. Add ground beef and cook, breaking apart, until browned, about 5-7 minutes. Drain excess fat if needed.
Add chopped onion and minced garlic to the skillet. Cook until onion is soft and translucent, about 3-4 minutes.
Spread the cooked beef mixture evenly in the prepared baking dish.
Arrange thinly sliced potatoes on top of the beef. Season potatoes with salt, pepper, Italian seasoning, and paprika.
Sprinkle shredded cheddar and grated Parmesan cheese over the potatoes.
Pour beef broth or water around the edges of the casserole to keep potatoes moist. Optionally drizzle with milk for extra creaminess.
Cover casserole with foil and bake for 30 minutes.
Remove foil and bake another 15-20 minutes until potatoes are tender and cheese is bubbly and golden.
Garnish with fresh parsley if desired and serve hot.