
These cheese-filled meatballs turn a regular meal into something special. When you mix spinach, garlic, and gooey cheese centers, you get a tasty bite everyone will want more of. I came up with this when I was trying to sneak more veggies into my family's food without losing any flavor.
The first time I cooked these for a family Sunday meal, they quickly became our top comfort food request. There's always smiles when someone cuts into a meatball and sees that cheese stretching out in those perfect strings.
Ingredients
- For the Spinach Mixture:
- Fresh baby spinach: Packs in nutrients while mixing nicely with the meat. Go for bright, fresh leaves with no yellow spots.
- Minced garlic: Gives rich flavor. Pick solid cloves with tight skin for the best taste.
- Good quality olive oil: Helps soften the spinach right. Extra virgin works best for flavor.
- For the Meatballs:
- Ground beef 80/20: Has just enough fat to keep meatballs juicy. That fat brings both taste and the right feel.
- Ground pork: Makes everything softer and stops meatballs from getting too firm. Try to get it ground fresh.
- Soft bread crumbs: Hold everything together. Making your own from slightly stale bread works great.
- Large eggs: Give the mix shape. Fresh eggs with deep orange yolks taste better.
- A splash of milk: Adds wetness. Full-fat milk creates the nicest texture.
- Finely chopped garlic: Puts flavor through the meat mix. Don't use anything but fresh here.
- Freshly grated Parmesan cheese: Adds salt and deep flavor. Grate it yourself for better melting.
- Salt and freshly ground black pepper: Brings out all tastes. Sea salt and rough black pepper really matter.
- Olive oil: For cooking gives that nice first crunch. Use regular instead of extra virgin since it handles heat better.
- Mozzarella cheese cubes: Create that amazing melty middle. Drier mozzarella gives the gooiest results.
- For Serving:
- Raos marinara sauce: Goes well without taking over. Good sauce really makes a difference.
- Pasta of your choice: Makes the perfect bottom layer. I like wide pappardelle or tube-shaped rigatoni to grab more sauce.
Tasty Preparation Guide
- Wilt the Spinach:
- Heat olive oil in a big pan over medium heat until it looks shiny. Dump in all your spinach at once even though it'll seem like way too much. Keep stirring as it shrinks down to about a tenth of what you started with, usually in 2-3 minutes. Throw in the minced garlic just before the spinach is totally wilted and cook until you can smell that yummy garlic but before it turns brown, around a minute more. The spinach should stay bright green and be completely soft.
- Prepare the Spinach Mixture:
- Move the cooked spinach and garlic to a cutting board and let it cool about 5 minutes until you can touch it without burning yourself. Chop it up really well into tiny bits that'll mix evenly in the meatballs. Put it aside and wait for it to cool completely, about 10 more minutes. You don't want hot spinach or it'll start cooking your meat too early.
- Preheat the Oven:
- Turn your oven to 350°F and give it time to heat up while you make the meatballs. Put the rack in the middle so everything cooks the same.
- Mix the Meat Base:
- In a big bowl put your ground beef, ground pork, bread crumbs, eggs, milk, chopped garlic, grated Parmesan, salt and pepper. Use your clean hands to mix everything together gently just until it's all combined. Don't mix too much or your meatballs will get tough. The mix should look even but still feel soft and loose.
- Incorporate the Spinach:
- Add your cooled chopped spinach mix to the meat. Use your fingers to fold it in so it spreads out evenly, but don't squish the meat. You should see little green bits all through the mixture.
- Form the Stuffed Meatballs:
- Grab about 2 tablespoons of meat mix and flatten it in your hand to make a small disc. Put a cube of mozzarella right in the middle. Fold the meat edges up and around the cheese making sure to seal it in completely. Roll it gently between your hands to make a perfect ball about 1.5 inches across. Put it on a baking sheet and do the same with the rest of the mix until you have about 32 meatballs.
- Brown the Meatballs:
- Heat olive oil in a big cast iron pan until it's shiny but not smoking. Put meatballs in the hot pan with space between them, working in batches if you need to. Brown them for about 2 minutes on each side, turning to get a golden crust all over. This step adds flavor by browning, not to cook them through.
- Add Sauce and Prepare for Baking:
- Pour marinara sauce around the browned meatballs in the pan, filling it about halfway up their sides. The sauce should be bubbling a little at the edges. Cover the pan tightly with foil making sure it's sealed well to keep steam in.
- Bake to Perfection:
- Put the covered pan in your hot oven and bake for 20-25 minutes. The meatballs are done when they reach 165°F inside and the cheese in the middle has melted completely. When you cut one open, the cheese should pull into long strings.
- Serve with Love:
- Put meatballs and sauce over your cooked pasta, arranging them nicely. For a special touch, sprinkle some freshly grated Parmesan and torn basil leaves on top just before serving.

The mozzarella really makes these special. I tried using different cheese once and while it was still good, nothing beats that perfect stretch you get from real mozzarella when you cut into these meatballs. My daughter actually clapped the first time she saw the cheese pull from her meatball, and now we all have to ooh and aah at the cheese stretch during dinner.

Frequently Asked Questions
- → Can I prepare the meatballs in advance?
Definitely! You can mix and shape the meatballs, then cover and chill for up to 24 hours before cooking. Or, fully cook them, cool, and refrigerate for up to 3 days. Warm them back up in sauce when ready to serve.
- → How do I freeze these meatballs?
Shape the meatballs and place them on a tray so they’re not touching. Freeze for about 2 hours until solid, then move them into a sealed container or bag. They'll stay fresh in the freezer for up to 3 months. Thaw overnight in the fridge before cooking as usual.
- → Can I use another kind of ground meat?
Of course! Besides beef and pork, you can try ground chicken or turkey. Keep in mind, leaner meats might need extra olive oil or a splash of milk to avoid drying out the meatballs.
- → Why do my meatballs come apart?
This happens if the mixture is too wet or hasn’t been properly chilled. Add small amounts of breadcrumbs until the mixture sticks better. Letting the meatballs chill in the fridge for 30 minutes before cooking also helps them stay together.
- → What pairs well with these meatballs other than pasta?
They’re fantastic on creamy polenta, mashed potatoes, or even over cauliflower rice for fewer carbs. You can also use them in a meatball sub with melted cheese or pair them with crisp salad and crusty bread for dipping.
- → How do I know when they're cooked perfectly?
Use a meat thermometer to make sure the inside hits 165°F (74°C). Don’t have one? Slice one open—there should be no pink meat, and the cheese should be gooey inside.