Meatball Casserole (Without Pasta)
Made with tender homemade ground beef meatballs, marinara, fresh spinach, and bubbly mozzarella, this meatball casserole bakes right in the skillet for a cheesy, one-pan dinner. All the comforting flavor of classic meatballs without boiling pasta, and easy enough for a busy weeknight.

5 star review
“Sooooooo delicious. My four year old and one year old each had a giant bowl served over pasta. Great way to get the little one to eat some spinach, too!”
– Genevieve
One-Pan Beef Meatball and Spinach Casserole for Dinner Tonight!
This meatball casserole earned a permanent spot in my recipe rotation the first time I made it, and the reason is simple: it delivers the deep, comforting flavor of meatball parm subs without the boiling, layering, or hour-long cleanup. My goal was a one-pan dinner that felt like a treat but came together with weeknight ease, and leaving the pasta out turned out to be the move that pulled the whole thing together. The result is a saucy, cheesy, spinach-packed casserole that’s flexible enough to serve over pasta, on a bun, or scooped straight from the skillet with bread (highly recommend!).
A couple of things to keep in mind when making this one. First, don’t skip the sear. The browned crust on each meatball is what gives the finished dish its depth of flavor, and meatballs added raw to the marinara come out pale and one-note. I tested with 85/15 ground beef and that’s what I recommend, since 90/10 turns out drier and 80/20 leaves too much grease in the skillet, but you can make it work in any case.
Serve this meatball casserole over your favorite cooked pasta, piled onto toasted buns for meatball sub night, or with a side of easy garlic bread for scooping. Leftovers keep beautifully in the fridge for up to 4 days and reheat well in a covered skillet with a splash of water to loosen the sauce. The homemade marinara sauce I use here makes a real difference in the final flavor, but a good jarred sauce works in a pinch. And if you want a ground chicken meatballs casserole, my no chop baked chicken meatballs are an even easier path to a similar dinner!
Welcome to My Kitchen, Let’s Make Cheesy Meatball Casserole







Testing Tips for Cheesy Meatball Casserole
- Wet your hands with cold water before rolling each meatball. Cold, slightly damp hands keep the beef from sticking to your palms and help you roll faster without compacting the meat, which is what gives you tender meatballs!
- Don’t crowd the skillet during the sear. If your pan looks full, work in two batches. Crowded meatballs steam each other instead of browning, and that browning is where the depth of flavor comes from.
- Cover the skillet tightly with foil for the first half of the bake. The trapped steam helps the meatballs finish cooking through without drying out, and uncovering for the last 10 minutes is what gives you the bubbling, lightly browned cheese on top.


Meatball Casserole (Without Pasta)
Ingredients
- ½ cup panko bread crumbs
- ¼ cup grated Parmesan cheese
- ¼ cup finely chopped fresh basil leaves
- 2 garlic cloves, minced
- 1 teaspoon kosher salt
- 1 large egg
- 1 ½ pounds lean ground beef
- 2 teaspoons olive oil
- 2 cups marinara sauce
- 4 cups chopped baby spinach (about two big handfuls)
- ½ cup shredded part skim mozzarella cheese
- 2 tablespoons grated Parmesan cheese
Equipment
Instructions
- Preheat the oven to 450F.
- In a large bowl, combine the bread crumbs, ¼ cup Parmesan, basil, garlic, salt, and egg, mixing well.
- Add the ground beef and gently mix until well combined.
- Roll the beef mixture into small meatballs about 1-inch in diameter–about 30-40 meatballs.
- Heat a large 12-inch high sided oven-proof skillet over medium high heat. Add the olive oil and the meatballs in an even layer, avoiding overcrowding. Cook for 5 minutes, or until browned on one-side, then flip and cook an additional 3-4 minutes (they do not need to be cooked all the way through at this point).
- Turn off the heat and add the spinach and marinara sauce, stirring gently until just combined, being careful not to break apart the meatballs.
- Cover with an even layer of the mozzarella and sprinkle evenly with 2 tablespoons of Parmesan.
- Cover with foil and bake for 10 minutes, then uncover and bake an additional 10 minutes, or until the cheese is melted and lightly browned.
Notes
- Flat leaf parsley can be substituted for fresh basil in the meatballs.
- This casserole has no pasta, but you can certainly serve it with cooked pasta or spaghetti if you like! Or, make my easy homemade garlic bread for dipping. Yum!




Sooooooo delicious. My four year old and one year old each had a giant bowl served over pasta. Great way to get the little one to eat some spinach, too!
Genevieve, yay, love that this was a hit with the whole fam! Thanks so much for taking the time to leave a review!
This was delicious and easy. I used ground turkey & dried basil but otherwise followed the recipe (with jarred marinara sauce). My teen boys gobbled it up and barely complained about the spinach. I served it with pasta, which helped fill them up. I don’t usually make my own meatballs, but I turned on an audio book & it went pretty quickly. I’ll make this again!
Sonja, yay, so happy to hear this one was a hit and that you were able to successfully swap in turkey. Bonus points for making your own meatballs for the first time and that it was a hit with the teen! Thanks so much for taking the time to leave a reivew!