Preheat and prep: Heat the oven to 375°F (190°C). Grease a 9x13-inch baking dish. Set a large pot of salted water to boil for the potatoes.
Make the mashed potatoes: Peel and cube the potatoes.
Boil until fork-tender, 12–15 minutes. Drain well, return to the pot, and mash with 4 tablespoons butter and 1/2 cup milk or half-and-half. Season with salt and pepper.
Add more milk as needed for a smooth, spreadable texture. Cover to keep warm.
Sauté aromatics: In a skillet, heat olive oil over medium. Cook diced onion until soft and lightly golden, 5–7 minutes.
Stir in garlic and cook 30 seconds. Cool slightly.
Mix the meatloaf base: In a large bowl, combine ground beef, eggs, breadcrumbs, milk, Worcestershire, ketchup, Italian seasoning, 1 teaspoon salt, and 1/2 teaspoon pepper. Add the cooled onions and garlic.
Mix gently with your hands until just combined. Do not overwork.
Form the base layer: Press the meat mixture evenly into the prepared baking dish. Smooth the top and, if you like, spread a thin layer of ketchup over it for a tangy glaze.
Bake the meat layer: Bake uncovered for 20 minutes to set the meatloaf and render some fat.
Carefully drain excess fat from the dish.
Make the gravy: While the meat bakes, melt 2 tablespoons butter in a saucepan over medium heat. Whisk in flour and cook 1 minute. Slowly whisk in beef broth.
Simmer, whisking, until thickened, 4–6 minutes. Season with salt and pepper to taste. The gravy should be pourable but not watery.
Assemble the casserole: Pour most of the gravy over the par-baked meatloaf layer, reserving a little for serving.
Gently spread the mashed potatoes over the top in an even layer.
Add the cheese: Sprinkle shredded cheddar evenly over the potatoes. For extra flavor, mix in a pinch of black pepper or paprika with the cheese.
Final bake: Return the casserole to the oven and bake 20–25 minutes, until the cheese is melted and bubbling and the internal temperature of the meat layer reaches 160°F (71°C).
Rest and serve: Let the casserole rest 10 minutes so layers set. Garnish with chopped parsley.
Serve with the remaining gravy on the side.