Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb ground beef (80/20)
- 8 oz mild Italian sausage (casing removed)
- 3/4 cup plain breadcrumbs + 1/3 cup whole milk
- 1 large egg
- 1/2 small onion, finely grated (about 1/3 cup)
- 3 cloves garlic, minced
- 1/2 cup grated Parmesan, divided
- 1.5 cups shredded low-moisture mozzarella
- 2 tbsp chopped fresh parsley; 1 tsp dried oregano; 1/2 tsp crushed fennel seeds; 1 tsp kosher salt; 1/2 tsp black pepper; pinch red pepper flakes
- 2 tbsp olive oil
- 3 cups marinara sauce
- 4 hoagie rolls (6–8 inch)
- 2 tbsp softened butter + 1 garlic clove (for garlic-butter rolls)
- 1/4 cup thinly sliced fresh basil
Do This
- 1) Heat oven to 425°F. Mix breadcrumbs and milk; let soak 5 minutes.
- 2) Combine meats, egg, onion, garlic, 1/4 cup Parmesan, parsley, oregano, fennel, salt, pepper, red pepper; add panade. Form 16 meatballs (1.5 inches).
- 3) Brown meatballs in 2 tbsp olive oil over medium-high, 5–7 minutes, turning to color all sides.
- 4) Add 3 cups marinara; simmer 12–15 minutes until meatballs reach 160°F.
- 5) Split rolls, spread with garlic butter; toast cut-side up 4–5 minutes.
- 6) Fill rolls with meatballs and sauce; top with mozzarella and remaining Parmesan. Bake 5–7 minutes until melty and golden. Finish with basil.
Why You’ll Love This Recipe
- Juicy, tender meatballs thanks to a milk-and-breadcrumb panade and a beef–sausage blend.
- Classic Italian-American flavors: bright marinara, melty mozzarella, and nutty Parmesan.
- Toasted garlic-butter hoagies that stay sturdy and never soggy.
- Weeknight-friendly steps with make-ahead and freezer options.
Grocery List
- Produce: Small onion, garlic, fresh parsley, fresh basil
- Dairy: Low-moisture mozzarella, Parmesan, whole milk, unsalted butter, large egg
- Pantry: Ground beef, mild Italian sausage, plain breadcrumbs, marinara sauce, olive oil, hoagie rolls, dried oregano, fennel seeds, red pepper flakes, kosher salt, black pepper
Full Ingredients
For the Meatballs
- 3/4 cup plain breadcrumbs
- 1/3 cup whole milk
- 1 lb ground beef (80/20)
- 8 oz mild Italian sausage, casings removed (or ground pork)
- 1 large egg
- 1/2 small onion, finely grated (about 1/3 cup)
- 3 cloves garlic, minced
- 1/4 cup finely grated Parmesan cheese
- 2 tbsp chopped fresh parsley
- 1 tsp dried oregano
- 1/2 tsp fennel seeds, lightly crushed
- 1 tsp kosher salt
- 1/2 tsp freshly ground black pepper
- 1/4 tsp crushed red pepper flakes (optional)
- 2 tbsp olive oil (for browning)
For Sauce & Assembly
- 3 cups marinara sauce (store-bought or homemade)
- 1.5 cups shredded low-moisture mozzarella (about 6 oz)
- 1/4 cup finely grated Parmesan (for topping)
- 1/4 cup thinly sliced fresh basil (for garnish)
For the Garlic-Butter Rolls
- 4 hoagie rolls (6–8 inch), split but not cut through
- 2 tbsp unsalted butter, softened
- 1 small garlic clove, finely grated or minced
- Pinch of kosher salt

Step-by-Step Instructions
Step 1: Preheat and make a quick panade
Heat the oven to 425°F with a rack in the center. In a medium bowl, combine the breadcrumbs and milk. Stir and let sit for 5 minutes until the crumbs are fully moistened; this panade keeps the meatballs tender and juicy.
Step 2: Mix the meatball mixture
In a large bowl, add the ground beef, Italian sausage, egg, grated onion, garlic, Parmesan, parsley, oregano, crushed fennel, salt, pepper, and red pepper flakes (if using). Add the breadcrumb–milk panade. Use a fork or your hands to mix gently until just combined—avoid overmixing, which can make the meatballs tough.
Step 3: Shape the meatballs
With damp hands or a 1.5-tbsp scoop, form the mixture into 16 even meatballs (about 1.5 inches each). Place them on a parchment-lined sheet while you heat the pan.
Step 4: Brown the meatballs
Heat 2 tbsp olive oil in a large skillet or Dutch oven over medium-high heat. Add meatballs in a single layer without crowding (work in batches if needed). Brown on 3–4 sides until deep golden, 5–7 minutes total. They do not need to be cooked through yet.
Step 5: Simmer in marinara
Reduce heat to medium. Pour in 3 cups marinara and bring to a gentle simmer. Cover partially and cook 12–15 minutes, turning occasionally, until the meatballs are cooked through and reach 160°F internally. Taste the sauce and adjust salt and pepper as needed.
Step 6: Toast the garlic-butter rolls
In a small bowl, mash the softened butter with the grated garlic and a pinch of salt. Split the hoagie rolls (keeping one side attached), open them like books, and spread the garlic butter on the cut sides. Arrange on a baking sheet and toast cut-side up at 425°F for 4–5 minutes, until edges are lightly golden and crisp.
Step 7: Assemble and melt the cheese
Nestle 3–4 meatballs into each roll. Spoon extra sauce over the meatballs. Top each sub with about 3/8 cup mozzarella and a sprinkle of Parmesan. Return to the oven and bake 5–7 minutes, until the cheese is melted and bubbling. For extra color, broil 1–2 minutes, watching closely.
Step 8: Finish and serve
Sprinkle with basil, let rest 2 minutes to set the cheese, then serve hot with any remaining warm marinara on the side.
Pro Tips
- Grate the onion on the small holes of a box grater. The extra moisture keeps meatballs tender and you avoid raw onion crunch.
- Wet your hands or lightly oil them before shaping to prevent sticking and ensure smooth, round meatballs.
- To keep rolls from getting soggy, toast them cut-side up and drain excess fat from the pan before adding the marinara.
- Use a mix of beef and sausage for flavor depth; if using all beef, add 1 tbsp extra olive oil and 1 tbsp additional milk to maintain juiciness.
- Keep a little extra Parmesan and basil for the table—everyone loves a fresh sprinkle.
Variations
- Spicy Arrabbiata: Swap marinara for arrabbiata and increase red pepper flakes to 1/2 tsp.
- Turkey Meatballs: Use 1.5 lb ground turkey (93% lean). Add 1 extra tbsp olive oil and 2 tbsp more milk; cook to 165°F.
- Cheese-Stuffed: Tuck a small mozzarella pearl into each meatball before browning for a gooey center.
Storage & Make-Ahead
Refrigerate cooked meatballs in sauce up to 4 days; reheat gently on the stovetop until hot. Freeze meatballs in sauce up to 3 months; thaw overnight and reheat. Shaped, uncooked meatballs can also be frozen on a sheet pan, then transferred to a bag for up to 3 months; brown from frozen and simmer a few minutes longer. Toast rolls and melt cheese just before serving for best texture.
Nutrition (per serving)
Approximate: 1050 calories; 56 g protein; 86 g carbohydrates; 53 g fat; 8 g fiber; 1800 mg sodium. Values will vary based on brands and roll size.
