Heat olive oil in a large skillet over medium heat. Add chopped onion and cook for 2-3 minutes until softened. Add minced garlic and ground beef, cooking until browned. Drain excess fat if necessary.
Arrange the thinly sliced potatoes over the beef mixture. Sprinkle with salt, pepper, paprika, and Italian seasoning.
Pour in the beef broth (and milk if using), then cover and let simmer on low heat for 15-20 minutes, stirring occasionally, until potatoes are tender.
Once the potatoes are cooked through, sprinkle cheddar and Parmesan cheese over the top. Cover and let the cheese melt for about 5 minutes.
Garnish with fresh parsley if desired and serve warm.