Meatball Parmesan Casserole
Juicy, tender meatballs nestled in a rich, garlicky tomato sauce, blanketed with golden melted mozzarella and nutty parmesan. This comforting family-style casserole comes together with homemade meatballs and a quick simmered sauce, then bakes until bubbly and irresistible. Perfect for slicing into hearty squares over pasta or served with crusty bread.
For 6 servings
- prep · ~5 min
Preheat the oven and prep ingredients.
1.Preheat the oven to 400°F (200°C).2.Finely dice the onion and mince the garlic cloves.3.In a small bowl, combine breadcrumbs and milk; let soak for 5 minutes. - prep · ~5 min
Score and crush fresh tomatoes.
1.Score the bottom of each tomato with a shallow X.2.Blanch in boiling water for 30 seconds, then transfer to ice water.3.Peel off the skins, then crush the tomatoes by hand into a bowl.TIPBlanching makes the peels slip right off. Crush gently to avoid losing juices. - mix · ~8 min
Form the meatballs.
1.In a large bowl, combine ground beef, soaked breadcrumbs, egg, 0.25 cup of the parmesan, half the minced garlic, 0.25 tsp salt, and black pepper.2.Mix gently with your hands until just combined — do not overwork.3.Roll into 18 meatballs, roughly 1.5 inches in diameter.TIPOverworking the meat mixture makes the meatballs dense and tough. Stop mixing the moment everything comes together. - fry · ~10 min
Brown the meatballs.
1.Heat olive oil in a large skillet over medium-high heat.2.Place meatballs in the skillet in a single layer, working in batches if needed.3.Sear all sides until deep brown, about 6-8 minutes total, then transfer to a plate. - saute · ~15 min
Build the tomato sauce.
1.Reduce heat to medium. In the same skillet, add the diced onion and cook until softened, about 3-4 minutes.2.Add the remaining minced garlic and oregano; sauté until fragrant, about 30 seconds.3.Pour in the crushed tomatoes, water, remaining 0.25 tsp salt, and half the chopped basil.4.Bring to a gentle simmer and cook for 8-10 minutes until slightly thickened, stirring occasionally. - assemble · ~4 min
Assemble the casserole.
1.Spoon a thin layer of tomato sauce across the bottom of a 9x13-inch baking dish.2.Arrange the browned meatballs in the dish in a single layer.3.Pour the remaining sauce evenly over the top.4.Sprinkle the shredded mozzarella and remaining 0.25 cup of parmesan evenly over everything. - bake · ~25 min
Bake until golden and bubbling.
1.Place the dish in the preheated oven.2.Bake for 20-25 minutes, until the cheese is melted, golden, and the sauce is bubbling vigorously around the edges.3.If the cheese has not browned, broil on high for 1-2 minutes — watch carefully so it doesn't burn.TIPInternal temperature of the meatballs should reach at least 160°F (71°C). - rest · ~10 min
Rest, garnish, and serve.
1.Remove from oven and let the casserole rest for 5-10 minutes.2.Sprinkle with the remaining fresh chopped basil.3.Scoop into squares and serve hot over pasta, alongside crusty bread, or on its own.TIPLetting it rest helps the sauce set slightly — makes serving much cleaner.
What to keep in mind.
7 tips from the recipe — small details that make a real difference to the final dish.
- 1Use 90% lean ground beef for juicy meatballs that aren't greasy after baking.
- 2Soak breadcrumbs in milk to keep the meatballs tender and moist.
- 3Don't skip browning the meatballs — that caramelized crust adds deep savory flavor to the final dish.
- 4Crush fresh tomatoes by hand for a rustic sauce texture that canned crushed tomatoes can't match.
- 5Let the casserole rest 5-10 minutes after baking so the sauce thickens and servings hold together.
- 6Broil the cheese for 1-2 minutes at the end if you want a golden-brown bubbly crust.
- 7Make the meatballs and sauce a day ahead; assemble and bake when ready for an easy weeknight dinner.
Adapt it for your goals.
Turkey meatball
Substitute ground turkey for the beef and add 1 tablespoon olive oil to the meatball mix to keep it moist; the leaner meat lowers saturated fat while still pairing perfectly with the tomato-cheese bake.
gluten freeGluten-free
Replace plain dried breadcrumbs with gluten-free breadcrumbs or crushed gluten-free crackers; use a gluten-free pasta for serving to make the entire meal celiac-friendly.
extra veggieExtra-veggie
Finely grate a small zucchini, squeeze out excess moisture, and mix it into the meatball base for added hidden veggies and extra moisture without changing the flavor profile.
spicy arrabbiataSpicy arrabbiata
Add 1/2 teaspoon red pepper flakes with the oregano and garlic when building the sauce for a gentle heat that cuts through the richness of the cheese and meat.
Why this is on our healthy list.
Rich in Protein
Ground beef provides high-quality protein essential for muscle repair and satiety, making this casserole a filling main dish.
Calcium from Cheese
Mozzarella and parmesan contribute calcium for bone health, with the parmesan adding a concentrated savory note so you need less overall cheese.
Tomato Antioxidants
Fresh crushed tomatoes are a source of lycopene, an antioxidant linked to heart health, especially when cooked with olive oil which aids absorption.
Garlic & Onion Support
Both garlic and onion contain prebiotic fibers and sulfur compounds that support immune function and gut health.
Frequently asked questions
Yes, you can substitute 2 cups (about 500g) of high-quality canned crushed tomatoes; skip the blanching step and reduce the water to 2 tablespoons as canned tomatoes are thinner.



