
Meatball Parmesan Panini
Tender baked beef meatballs simmered in marinara, tucked into a crisp Italian roll with melted mozzarella and Parmesan, then pressed until golden. All the flavor of a meatball sub, with a crunchy, cheesy, less messy bite.
- Prep
- 30 min
- Cook
- 35 min
- Wait
- 5 min
- Total
- 1 hr 10 min
- Makes
- 4 paninis (16 meatballs total, 4 per sandwich)
Steps
Before you start
- Preheat the oven to 425°F (220°C) with a rack in the middle before you start mixing.
- Use low-moisture mozzarella (sliced or block), not fresh mozzarella in water, which makes the sandwiches soggy.
- Choose sturdy 6-inch Italian rolls with a crisp crust and soft interior; very soft hot dog-style buns will flatten and tear.
- The meatballs can be baked and simmered in sauce in advance (see make ahead), so only assembly and pressing are left at serving time.
Mix the meatballsOven 425°F / 220°C
- Preheat the oven to 425°F (220°C) and line a rimmed baking sheet with parchment.
- In a large bowl, stir the panko and milk together and let sit 2 minutes while you prep the other ingredients.
- Add the egg, 1/4 cup Parmesan, garlic, parsley, oregano, salt, and pepper and stir to combine.
- Add the cold ground beef and mix gently with your hands for about 30 seconds, just until evenly combined.
+ Show details− Hide details
Ready when: No streaks of unmixed panko or egg remain, and the mixture looks uniform but not pasty.
Tip: Overmixing makes meatballs dense and rubbery. Stop as soon as everything is evenly distributed.
Shape the meatballs
- Scoop about 2 tablespoons (roughly 35 g) of the mixture and roll it between damp palms into a smooth ball about 1¼ inches (3 cm) wide.
- Place on the lined baking sheet, spacing them about 1 inch (2.5 cm) apart.
- You should have 16 meatballs.
+ Show details− Hide details
Ready when: 16 evenly sized, smooth balls on the sheet.
Tip: Keep a small bowl of water nearby to dampen your hands so the mixture doesn't stick.
Bake the meatballsOven 425°F / 220°C
- Bake in the 425°F (220°C) oven for 13 to 15 minutes, until the meatballs are browned on top and firm to the touch.
- Check one by inserting an instant-read thermometer into the center.
+ Show details− Hide details
Ready when: Browned outside, no pink in the center, and 160°F (71°C) on an instant-read thermometer.
Tip: Baking is less messy than pan-frying and gives even browning, which adds flavor to the sauce.
Simmer in marinara
- While the meatballs bake, pour the marinara into a medium saucepan or deep 10-inch (25 cm) skillet and warm over medium-low heat until steaming.
- Transfer the baked meatballs to the sauce, spoon sauce over them, cover, and simmer gently for 10 minutes, turning once, so they absorb flavor and turn very tender.
- Turn off the heat and leave covered.
+ Show details− Hide details
Ready when: Sauce barely bubbles at the edges and the meatballs are hot throughout and feel tender when pierced with a fork.
Tip: Keep the simmer gentle; hard boiling can toughen the meatballs and spatter sauce.
Prep the rolls
- Turn the panini press on to medium-high (about 400°F/200°C).
- Split each roll lengthwise with a serrated knife, leaving one long edge attached.
- If the rolls are very doughy, pull out a little of the soft crumb from each side to make a shallow trough.
- Brush the outside of the top and bottom of each roll lightly with the olive oil, using about 1½ teaspoons per roll.
+ Show details− Hide details
Ready when: Rolls open like a book and the outsides are glossy with oil.
Tip: Don't over-hollow the rolls. The crust must stay thick enough to hold the filling.
Assemble the paninis
- Open each roll and lay 1 slice of mozzarella on the bottom half.
- Using a slotted spoon, lift 4 meatballs per sandwich from the sauce, letting excess drip off, and place on the cheese.
- Gently press each meatball with the back of a fork to flatten it slightly so it sits snugly.
- Spoon about 1 tablespoon of sauce over the meatballs, sprinkle with 1 tablespoon Parmesan, add 3 basil leaves if using, and top with a second slice of mozzarella.
- Close the roll firmly.
- Keep the remaining sauce warm for dipping.
+ Show details− Hide details
Ready when: Each sandwich closes without meatballs rolling out, with cheese both under and over the filling.
Tip: Too much sauce inside makes the bread soggy and sends cheese oozing out. Use only 1 tablespoon per sandwich and serve the rest on the side.
Press until golden
- Place 2 sandwiches on the preheated press (cook in two batches if your press is small).
- Close the lid gently and cook for 4 to 5 minutes, pressing lightly, until the bread is deeply golden with grill marks and the cheese is melted.
- If using a grill pan, cook over medium heat and press with a heavy skillet, flipping after 3 minutes, for 6 to 7 minutes total.
- Repeat with the remaining sandwiches.
+ Show details− Hide details
Ready when: Crust is crisp and golden, the sandwich feels firm when tapped, and melted cheese is just starting to peek from the edges.
Tip: Apply light pressure at first. Pressing hard squeezes out the sauce and flattens the meatballs.
Rest, slice, and serve
- Transfer the paninis to a cutting board and let rest for 5 minutes so the cheese sets slightly and the filling doesn't slide out.
- Cut each in half diagonally with a serrated knife using a gentle sawing motion.
- Serve right away with the warm leftover sauce for dipping.
+ Show details− Hide details
Ready when: Cheese is melted but no longer runny, and the sandwich holds together when cut.
Tip: Slice with a serrated knife, not a chef's knife, to avoid crushing the crisp crust.
Good to know
Tips
- Use cold ground beef and handle it lightly for tender meatballs.
- Drain meatballs with a slotted spoon and use only a little sauce inside; serve the rest for dipping to keep the bread crisp.
- Flatten the meatballs slightly (or cut in half) when assembling so the sandwich presses evenly and doesn't squirt out.
- No panini press? Cook in a heavy skillet over medium heat, pressing with a second heavy pan, and flip once.
Make ahead
"Bake the meatballs and simmer them in the marinara up to 3 days ahead. Cool, then refrigerate in the sauce in an airtight container. Reheat gently in a saucepan over medium-low heat until steaming hot (165°F/74°C) before assembling. Raw shaped meatballs can also be refrigerated on the baking sheet, covered, for up to 24 hours before baking."
Storage & reheating
"Pressed paninis are best eaten immediately. Wrapped tightly, leftovers keep in the fridge up to 2 days; reheat in a 350°F (175°C) oven for 10 to 12 minutes or until hot through. Do not store at room temperature for more than 2 hours. Meatballs in sauce keep in the fridge up to 4 days, or in the freezer up to 3 months; thaw overnight in the fridge and reheat gently on the stove until steaming. Assembled, unpressed paninis do not freeze well."
Substitutions
- ground beef, 85% lean → Half ground beef and half ground pork, or ground turkey. Beef and pork gives a richer, more tender meatball. Turkey is leaner and can be drier, so don't skip the milk soak. Cook to 165°F (74°C) for turkey.
- panko breadcrumbs → Fresh breadcrumbs or plain dried breadcrumbs. Use 1/3 cup (35 g) dried plain breadcrumbs, or 3/4 cup (40 g) fresh breadcrumbs.
- low-moisture mozzarella → Provolone slices. Provolone gives a sharper flavor and melts well. Use 8 slices or about 8 oz (225 g).
- Italian rolls, about 6 inches (15 cm) long → Ciabatta rolls or sturdy sourdough slices. Use 8 slices of sourdough (about 1/2 inch thick) for 4 sandwiches; reduce pressing time by about 1 minute.
More paninis
See all →Find more like this
- Meal
- Dinner
- Cuisine
- Italian
- Main ingredient
- Ground BeefMozzarella
- Diet
- HalalSugar-Free
- Quick & Easy
- Easy




