Spinach Garlic Meatballs Stuffed with Mozzarella are a fun twist on a classic favorite. These meatballs are packed with fresh spinach and a punch of garlic, then surprise you with a gooey mozzarella center that melts beautifully as they cook. The combination of juicy meat, vibrant greens, and stretchy cheese makes every bite something to smile about.
I love making these meatballs for dinner when I want something a little different but still super comforting. The mozzarella inside feels like a special treat, and the garlic and spinach add just the right amount of flavor without overpowering the dish. Plus, stuffing the cheese inside the meatball keeps it nice and melty by the time it hits the plate.
My favorite way to serve them is over a bed of spaghetti or alongside some crusty bread to soak up any tasty juices. Sometimes I’ll toss a salad on the side or steam some veggies for a full meal. These meatballs always get compliments, and I find they’re perfect for sharing with family or friends when you want something hearty but with a little twist.
Key Ingredients & Substitutions
Ground meat: I prefer a mix of beef and pork for juiciness, but pure beef or even ground turkey works well. Turkey keeps it lighter but can be a bit dryer, so just add a touch more milk or breadcrumbs.
Spinach: Fresh spinach gives a great texture and color, but frozen spinach works fine if thawed and squeezed dry. It adds moisture and a mild flavor that balances the meat.
Mozzarella: Using fresh mozzarella cubes inside the meatballs melts nicely, creating a gooey center. If needed, you can swap with provolone or Monterey Jack for a similar stretchy effect.
Breadcrumbs and milk: These help bind the meatballs and keep them tender. For gluten-free, you can use crushed gluten-free crackers or oats instead of breadcrumbs.
How Do You Stuff Meatballs Without the Cheese Leaking Out?
Stuffing meatballs can be tricky if you’re worried about cheese leaking. Here’s how I keep the cheese sealed inside perfectly:
- Flatten a portion of meat mixture in your palm, roughly 2 inches wide.
- Place a cube of mozzarella in the center, making sure it doesn’t touch the edges.
- Carefully fold the meat around the cheese, pinching seams tightly to fully enclose it.
- Roll gently to make a smooth ball, avoiding any cracks or holes where cheese can escape.
- Brown the meatballs in a hot skillet first. This step seals the outside and locks in the cheese.
With these steps, the mozzarella melts wonderfully inside while the meatball stays intact and juicy.
Equipment You’ll Need
- Large mixing bowl – great for mixing meat and spinach evenly without mess.
- Sharp knife and cutting board – for chopping spinach and garlic finely.
- Non-stick skillet – perfect for browning meatballs before baking without sticking.
- Baking dish or tray – to bake the meatballs and melt the cheese inside.
- Measuring cups and spoons – help keep your seasonings and ingredients just right.
Flavor Variations & Add-Ins
- Use ground turkey or chicken for a lighter option that still tastes great with garlic and spinach.
- Add chopped sun-dried tomatoes inside with the mozzarella for a tangy, sweet surprise.
- Mix in crushed red pepper flakes for a bit of heat that complements the garlic well.
- Try swapping mozzarella with shredded mozzarella and a sprinkle of Parmesan on top for extra cheesy flavor.

Spinach Garlic Meatballs Stuffed with Mozzarella
Ingredients You’ll Need:
For the Meatballs:
- 1 lb (450g) ground beef or a mix of beef and pork
- 1 cup fresh spinach, finely chopped (or thawed, drained frozen spinach)
- 3 cloves garlic, minced
- ½ cup breadcrumbs
- ¼ cup grated Parmesan cheese
- 1 large egg
- ¼ cup milk
- 1 tsp dried Italian seasoning (or a mix of oregano, basil, and thyme)
- Salt and freshly ground black pepper, to taste
- 4 oz (115g) mozzarella cheese, cut into small cubes
- 2 tbsp olive oil
- Optional: ¼ cup fresh parsley, chopped (for extra freshness)
- Optional: Marinara or tomato sauce for serving
How Much Time Will You Need?
This recipe will take about 15 minutes for preparation, 10 minutes for browning the meatballs, and another 12-15 minutes to bake until fully cooked and melty inside. In total, plan for approximately 40 minutes from start to finish.
Step-by-Step Instructions:
1. Prepare the Meatball Mixture:
First, preheat your oven to 400°F (200°C) and lightly grease a baking dish. In a large bowl, mix together the ground meat, finely chopped spinach, minced garlic, breadcrumbs, Parmesan cheese, egg, milk, Italian seasoning, salt, pepper, and parsley if using. Stir until everything is combined but be gentle not to overmix — this keeps your meatballs tender.
2. Stuff the Meatballs:
Take a small handful of the meat mixture and flatten it in your palm. Place a cube of mozzarella in the center, then mold the meat around it, sealing the cheese completely inside. Roll gently to form a smooth ball. Repeat with the remaining meat and cheese cubes.
3. Brown the Meatballs:
Heat olive oil in a skillet over medium-high heat. Carefully place the meatballs and brown them on all sides, about 2-3 minutes per side. This step seals in flavor and keeps the cheese from oozing out while baking.
4. Bake Until Cooked and Melty:
Transfer the browned meatballs to the prepared baking dish. Place it in the oven and bake for 12-15 minutes, or until the meatballs are cooked through and the mozzarella inside is melted and deliciously stretchy.
5. Serve with Style:
Enjoy the meatballs hot — either on their own, with a spoonful of marinara sauce, or alongside pasta, rice, or crusty bread. Garnish with extra chopped spinach or fresh herbs for a fresh touch.
Can I Use Frozen Spinach Instead of Fresh?
Absolutely! Just make sure to thaw the frozen spinach completely and squeeze out excess water before mixing it into the meat. This prevents the meatballs from becoming too watery.
How Can I Make These Meatballs Ahead of Time?
You can prepare and stuff the meatballs in advance, then store them in an airtight container in the fridge for up to 24 hours before cooking. They also freeze well — freeze uncooked meatballs on a tray, then transfer to a bag for up to 3 months.
What’s the Best Way to Reheat Leftover Meatballs?
Reheat leftovers gently in the oven at 350°F (175°C) until warmed through, or microwave them covered for about 1-2 minutes. Adding a little marinara sauce helps keep them moist during reheating.
Can I Substitute Mozzarella With Another Cheese?
Yes! Provolone or Monterey Jack are great melty alternatives if you want a slightly different flavor. Just be sure to use cheeses that melt well so you still get that gooey surprise inside.

