Preheat and prep: Heat your oven to 375°F (190°C).
Lightly grease a 9x13-inch baking dish. Peel the potatoes if you like, then slice them thinly (about 1/8 to 1/4 inch thick) so they cook evenly.
Brown the beef: Warm the olive oil in a large skillet over medium-high heat. Add the ground beef and cook, breaking it up, until browned and no longer pink.
Season with 1 teaspoon salt and 1/2 teaspoon black pepper.
Add aromatics: Stir in the diced onion and cook 3–4 minutes until softened. Add the garlic and cook 30 seconds, just until fragrant.
Season the meat: Sprinkle in the smoked paprika and Italian seasoning. Add the Worcestershire sauce.
Stir well, taste, and adjust seasoning if needed. Turn off the heat.
Make a quick cheese sauce: In a separate saucepan, melt the butter over medium heat. Whisk in the flour and cook 1 minute to form a roux.
Slowly whisk in the milk, then the beef broth, stirring until smooth and slightly thickened, 3–5 minutes. Reduce heat to low, add 1.5 cups shredded cheese, and stir until melted. Season with a pinch of salt and pepper.
Layer the casserole: Arrange half the sliced potatoes in the baking dish, overlapping slightly.
Sprinkle with a small pinch of salt and pepper. Spoon half the beef mixture over the potatoes, then pour over half the cheese sauce. Repeat with the remaining potatoes, beef, and sauce.
Finish with the remaining 1/2 cup shredded cheese on top.
Bake: Cover the dish with foil and bake for 35 minutes. Remove the foil and bake another 20–25 minutes, until the potatoes are tender and the top is golden and bubbly.
Rest and garnish: Let the casserole sit for 10 minutes to set. Sprinkle with chopped parsley or chives before serving.