01 - Preheat oven to 350°F. Lightly grease a 9x13-inch baking dish with butter or non-stick spray.
02 - In a large bowl, combine ground beef, chopped onion, minced garlic, breadcrumbs, egg, milk, ketchup, Worcestershire sauce, salt, and black pepper. Mix gently until just combined—avoid overworking the meat to keep it tender.
03 - Press the meat mixture evenly into the bottom of the prepared baking dish. Bake for 20 minutes to partially cook the base.
04 - While the meatloaf bakes, cook the elbow macaroni according to package directions until just al dente. Drain well and set aside.
05 - In a medium saucepan, melt the butter over medium heat. Whisk in the flour and cook for 1 minute to form a roux. Slowly pour in the milk while whisking constantly. Continue cooking and stirring for 2-3 minutes until the sauce thickens slightly.
06 - Stir the shredded cheddar, grated Parmesan, dry mustard, paprika, salt, and pepper into the sauce. Cook until the cheeses are fully melted and the sauce is smooth. Fold in the cooked macaroni and mix until evenly coated.
07 - Spread the macaroni and cheese mixture evenly over the partially baked meatloaf layer in the dish.
08 - In a small bowl, combine shredded cheddar cheese, breadcrumbs, and melted butter. Sprinkle the mixture evenly over the top of the casserole.
09 - Return the casserole to the oven and bake for 30-35 minutes until the top is golden brown and bubbling, and the meatloaf layer is cooked through.
10 - Remove from the oven and let the casserole rest for 10 minutes before slicing. Serve hot.