-
Prep Time: 35 minutes
-
Cook Time: 40 minutes
-
Total Time: 1 hour 15 minutes (plus optional meatball chilling time)
-
Servings: 8 generous portions
-
Cooking Intensity: Moderate – Involves several components but uses simple techniques for a spectacular result.
Ingredients
For the Homemade Meatballs:
-
1 lb ground beef (80/20 blend for optimal juiciness)
-
1 lb ground Italian sausage (mild or hot, based on preference)
-
1 large egg, lightly beaten
-
½ cup Italian-style breadcrumbs
-
½ cup grated Parmesan cheese
-
¼ cup whole milk
-
2 cloves garlic, minced
-
2 tablespoons fresh parsley, finely chopped
-
1 teaspoon dried oregano
-
½ teaspoon black pepper
-
¼ teaspoon salt (use less if your sausage is very salty)
For the Macaroni and Cheese:
-
1 lb (16 oz) dried elbow macaroni, cavatappi, or cellentani pasta
-
4 tablespoons unsalted butter
-
¼ cup all-purpose flour
-
3 cups whole milk, warmed slightly
-
2 cups heavy cream or half-and-half
-
1 teaspoon garlic powder
-
1 teaspoon dry mustard powder
-
½ teaspoon onion powder
-
½ teaspoon smoked paprika (plus more for garnish)
-
4 cups shredded cheese, divided (use a blend: 2 cups sharp cheddar, 1½ cups Fontina or Gruyère for meltability, ½ cup reserved Parmesan)
-
Salt and white pepper to taste
For the Crispy Topping:
-
1 cup panko breadcrumbs
-
¼ cup grated Parmesan cheese
-
2 tablespoons unsalted butter, melted
-
2 tablespoons fresh parsley, chopped
-
1 tablespoon olive oil
Step-by-Step Instructions
Part 1: Prepare the Meatballs
-
Combine: In a large bowl, gently combine the ground beef, Italian sausage, egg, breadcrumbs, ½ cup Parmesan, milk, garlic, parsley, oregano, pepper, and salt. Use your hands or a fork, but avoid overmixing to prevent tough meatballs.
-
Form: Using a tablespoon or a small cookie scoop, portion the mixture and roll into 1 to 1.5-inch balls. You should get about 24-30 meatballs. For best results, place them on a parchment-lined plate and chill in the refrigerator for 20-30 minutes. This helps them hold their shape during cooking.
-
Cook: Preheat your oven to 400°F (200°C). Arrange the meatballs on a parchment-lined or foil-lined rimmed baking sheet. Bake for 15-18 minutes, or until cooked through and browned. Remove and set aside. Reduce oven temperature to 375°F (190°C) for the casserole.
Part 2: Cook the Pasta & Make the Cheese Sauce
-
Pasta: While the meatballs bake, bring a large pot of generously salted water to a boil. Cook the pasta according to package directions for al dente (usually 1-2 minutes less than the suggested time). It will continue to cook in the oven. Drain and return to the pot. Drizzle with a tiny bit of olive oil to prevent sticking.
-
Roux: In a large, heavy-bottomed pot or Dutch oven, melt the 4 tablespoons of butter over medium heat. Whisk in the flour and cook, whisking constantly, for about 2 minutes until the mixture is bubbly and smells slightly nutty—this is your roux.
-
Create the Béchamel: Gradually whisk in the warm milk and heavy cream, ensuring no lumps form. Continue to whisk as the mixture thickens, about 5-7 minutes. It should coat the back of a spoon.
-
Season & Cheese: Stir in the garlic powder, dry mustard, onion powder, and smoked paprika. Remove the pot from the heat. Gradually add 3½ cups of the shredded cheese blend (reserving ½ cup of Parmesan for the topping), one handful at a time, whisking until each addition is fully melted and smooth. Season with salt and white pepper to taste. The sauce should be rich and velvety.
Part 3: Assemble the Casserole
-
Combine: Add the drained pasta and the baked meatballs to the pot of cheese sauce. Gently fold everything together until the pasta and meatballs are evenly coated.
-
Transfer: Pour the entire mixture into a greased 9×13 inch (or similar 3-qt) baking dish, spreading it evenly.
Part 4: Add the Topping & Bake
-
Make Topping: In a small bowl, combine the panko, reserved ½ cup Parmesan, melted butter, parsley, and olive oil. Mix until the panko is evenly moistened.
-
Top & Bake: Sprinkle the panko mixture evenly over the entire surface of the casserole. Place the dish on a middle rack in the 375°F (190°C) oven.
-
Bake to Perfection: Bake for 25-30 minutes, or until the topping is deep golden brown and the casserole is bubbling vigorously around the edges. If the topping browns too quickly, tent loosely with foil.
Step 5: The Crucial Rest & Serve
Remove the casserole from the oven and let it rest for a full 10-15 minutes. This step is critical. It allows the sauce to thicken and set, ensuring you get perfect, cohesive servings instead of a runny mess.
Garnish with a light dusting of smoked paprika and extra chopped parsley. Serve hot, ideally with a simple green salad or steamed broccoli to balance the richness.
Recipe Success Tips & Variations
-
The Shortcut: For a quicker version, use 24-30 high-quality frozen, pre-cooked Italian meatballs (thawed) and a 24 oz jar of a good marinara sauce. Mix the sauce with 16 oz of cooked pasta, 2 cups of shredded mozzarella, and the meatballs. Top with cheese and panko and bake.
-
Cheese Wisdom: Always shred your own cheese from a block. Pre-shredded cheese contains anti-caking agents that can make your sauce grainy.
-
Pasta Perfect: Undercook your pasta! It will absorb sauce and continue to soften in the oven.
-
Flavor Boosts: For an extra layer of flavor, add a ½ cup of grated onion to the butter when making the roux, cooking until soft. Or, stir 2 cups of fresh baby spinach into the hot cheese sauce before combining with pasta.
-
Make-Ahead: Assemble the casserole completely (through adding the topping), cover tightly, and refrigerate for up to 24 hours. Bake from cold, adding 10-15 minutes to the baking time. You can also freeze the unbaked casserole for up to 2 months; thaw overnight before baking.
Storage & Reheating Instructions
-
Refrigeration: Store leftovers in an airtight container in the refrigerator for 3-4 days.
-
Reheating for Best Results:
-
Oven/Toaster Oven (Recommended): Reheat individual portions or the whole dish at 350°F (175°C) for 15-20 minutes, covered with foil, until heated through. Uncover for the last 5 minutes to re-crisp the topping.
-
Air Fryer: For a single serving, reheat at 350°F for 5-7 minutes for a miraculously crispy top.
-
Microwave: Use in 60-second intervals, stirring gently if possible, until hot. Note: this will soften the topping.
-
Nutrition Information
(Per serving, based on 8 servings)
| Nutrient | Amount | % Daily Value* |
|---|---|---|
| Calories | ~890 kcal | |
| Total Fat | 58g | 74% |
| Saturated Fat | 32g | 160% |
| Cholesterol | 195mg | 65% |
| Sodium | 980mg | 43% |
| Total Carbohydrate | 52g | 19% |
| Dietary Fiber | 2g | 7% |
| Sugars | 9g | |
| Protein | 42g | 84% |
Percent Daily Values are based on a 2,000 calorie diet. Values are estimates calculated using standardized ingredients and can vary based on specific brands, modifications, and portion sizes. This is a rich, indulgent dish best enjoyed as part of a balanced diet.