These Italian Meatball Subs are the ultimate comfort food! Juicy homemade meatballs made with beef and Italian sausage are simmered in a rich, flavorful tomato sauce, then piled onto toasted sub rolls and topped with plenty of melty mozzarella and Parmesan cheese. Whether you're feeding the family for an easy weeknight dinner or serving a crowd on game day, these hearty homemade meatball sandwiches are guaranteed to disappear fast.

Growing up, one of our favorite takeout spots was a little restaurant in Arlington called Joe's Pizza, Pasta & Subs. Everything there was incredible, the pizza, the house salad dressing, but the Italian Meatball Subs were always the meal I looked forward to most. Tender meatballs, rich tomato sauce, gooey melted cheese... they were the kind of sandwich you couldn't stop thinking about.
This recipe is my homemade take on those unforgettable Italian meatball subs, and I honestly think it's every bit as good. The meatballs are made with a combination of beef and Italian sausage for incredible flavor, then simmered in a rich tomato sauce before being piled onto toasted sub rolls with plenty of melty mozzarella and Parmesan. One batch makes enough for 7-9 sandwiches, and it's easy to double or triple if you're feeding a crowd.
While these homemade meatballs were made for sandwiches, they're just as delicious served over a big bowl of pasta. Either way, this is one of those comfort food dinners that everyone gets excited about.
Jump to:
Other Italian inspired recipes you will love.
Equipment
- Mixing bowls: These Pyrex Glass Mixing Bowls are my favorite!
- Measuring cups and spoons
- Cutting board and knife
- Dutch oven or large heavy bottomed pot with lid: I love my Le Creuset Dutch Oven and use it almost every day!
- Baking sheet
- Pastry brush (optional): This is for brushing olive oil on the rolls but you can always just drizzle some on if you don't have a pastry brush.
Ingredient Notes & Substitutions
- Ground beef: An 80/20 fat ratio is ideal for juicy, flavorful meatballs, but 85/15 also works well. I don't recommend using lean ground beef, as the extra fat helps keep the meatballs tender and adds so much flavor.
- Ground Italian sausage: Mild, sweet, or hot Italian sausage all work beautifully, so use your favorite. The sausage adds seasoning, richness, and keeps the meatballs incredibly moist. If using sausage links, simply remove the casings before mixing.
- Egg: Helps bind the meatballs together so they hold their shape while cooking.
- Onion: Finely dice or grate the onion so it blends seamlessly into the meatballs and keeps them nice and tender.
- Fresh garlic: Freshly minced garlic gives the best flavor, but in a pinch you can substitute about 1 teaspoon of garlic powder.
- Parmesan cheese: Freshly grated Parmesan melts into the meatballs and adds the best flavor. Pre-shredded Parmesan can be used if that's what you have, but freshly grated is worth it.
- Parmesan rind (optional): If you have a Parmesan rind tucked away in your freezer, add it to the sauce while it simmers. It adds an incredible depth of savory flavor. Just remove it before serving.
- Panko breadcrumbs: Panko creates light, tender meatballs. Regular breadcrumbs can be substituted if needed, though the texture will be slightly denser.
- Italian Seasoning: If you don't have Italian seasoning, use a combination of oregano, basil, thyme, and parsley.
- Olive oil: Any neutral cooking oil will work.
- Tomato paste: Adds richness and concentrated tomato flavor to the sauce. Be sure to cook it for a minute or two before adding the tomatoes to mellow its raw flavor.
- Crushed tomatoes: Form the base of the sauce. I prefer crushed tomatoes for the perfect balance between a smooth sauce and a little texture, but whole peeled tomatoes (crushed by hand) also work well.
- Tomato sauce: Helps create a silky, well-balanced sauce. If you prefer a chunkier sauce, you can replace it with an equal amount of crushed tomatoes.
- Fresh basil: Adds freshness and bright flavor at the end. If you don't have fresh basil, you can substitute about 1 teaspoon of dried basil, though fresh is definitely best.
- Salt & pepper: Season to taste.
To assemble the meatball sandwiches
- Hoagie rolls, buns or large French bread loaf: Soft hoagie or sub rolls are my favorite because they're sturdy enough to hold all the meatballs and sauce without falling apart. If you're feeding a crowd, you can also use a large French bread loaf and slice it into individual sandwiches after baking.
- Olive oil: Brushing the rolls with a little olive oil before toasting helps them turn beautifully golden and crisp while adding extra flavor.
- Garlic powder (optional): A light sprinkle gives the toasted rolls a subtle garlic bread flavor. It's completely optional, but I highly recommend it!
- Fresh mozzarella: Fresh mozzarella melts beautifully and gives these sandwiches that irresistible gooey, cheesy pull. Low-moisture sliced mozzarella or even provolone also works well if that's what you have on hand.
- Parmesan cheese
- Fresh basil (optional)

Step by Step Instructions
Time needed: 1 hour and 10 minutes
How to make Italian Meatball Subs:
- Add ground beef and ground Italian sausage to a large mixing bowl and set aside. Do not mix at this time.
- Add all remaining meatball ingredients into a separate bowl and mix until thoroughly combined.

- Add the mixed ingredients into the bowl with the meat and use your hands to gently combine. Be careful not to overwork the meat.

- Roll out 2 tablespoon meatballs and set aside on a plate.

- Heat olive oil in a large Dutch oven over medium high heat until shimmering. Sear the meatballs in two batches. Place on a plate and set aside.
When the oil is hot add a single layer of meatballs and sear undisturbed for about 1 ½ to 2 minutes. Then flip to the other side and sear for an additional 1-2 minutes. Then remove and repeat with the second batch until all meatballs have been browned. Move to a plate and set aside.

- Cook onions in meatball drippings then add garlic, Italian seasoning and tomato paste.

- Pour in tomato sauce, crushed tomatoes and water. Season with salt & pepper and add Parmesan rind to the sauce (optional).

- Nestle meatballs in the sauce and bring to a low boil. Turn the heat down and simmer for 20-30 minutes until meatballs are cooked through. The taste the sauce and season with salt & pepper. Remove from the heat, add fresh basil and set aside.

- While the meatballs cook, preheat the oven the 400 degrees.
- Brush the inside of the rolls or buns with a little olive oil and sprinkle with garlic powder. Cook at 400 degrees for about 5 minutes to toast. Remove from the oven.
- Assemble the sandwiches by layering thinly sliced mozzarella cheese and topping with sauce, meatballs, more sauce, more mozzarella slices and a sprinkle of Parmesan.

- Place the assembled sandwiches on a baking sheet and cook in the oven at 400 degree F for a few minutes until the cheese is melted.
- Garnish the subs with fresh basil and enjoy!

Recipe FAQs
When overworked the meat can become rather tough. This is why it's important to premix the other ingredients before adding to the meat and then mixing by hand only until the ingredients are well incorporated.
Oh yes! If you're in more of a pasta mood feel free to skip the sandwich and just serve the meatballs and tomato sauce on a fresh bed of pasta. Delicious!
Technically you can but you will definitely see a difference in both flavor and texture.
Yes you can. I love making this sauce from scratch because cooking the onions and garlic in the meatball drippings add a ton of flavor. However, if you want to skip that step simply sear your meatballs and then add 2-3 jars of your favorite tomato or marinara sauce to the same pot. Then add you meatballs back and simmer for the same amount of time.
You can! Meatballs are a great recipe to make in advance because they continue to absorb the flavor of the sauce as they sit.
Pro Tip: Add a Parmesan rind to your sauce while it cooks.
While this step is totally optional, if you do happen to have a Parmesan rind on hand be sure to throw it in the sauce while it simmers and cooks the meatballs.
It adds phenomenal depth of flavor and you can simply fish it out and throw it away before serving.

Other recipes for you to enjoy.
Grilled Pepper and Mozzarella Sandwiches
Made these homemade Italian Meatball Subs? Let me know what you think in the comments!
Recipe

Italian Meatball Subs
Equipment
- Mixing bowls
- Measuring cups and spoons
- Large Dutch oven or heavy bottomed pot with lid
- Slotted spoon or tongs
- Baking Sheet
- Cutting board and knife
Ingredients
For the meatballs
- 1 lb ground beef, 80/20 or 85/15 fat ratio
- 1 lb ground Italian pork sausage
- 1 egg
- ¼ cup onion, minced
- 2 cloves garlic, crushed or minced
- ¼ cup parmesan cheese, grated
- ¼ cup Panko breadcrumbs
- 1 teaspoon salt
- ½ teaspoon pepper
- 2 teaspoon Italian seasoning
- 4 tablespoon olive oil
For the sauce
- 1 onion, diced
- 3 cloves garlic, crushed or minced
- 1.5 tablespoon Italian seasoning
- 6 oz can of tomato paste
- 28 oz can of crushed tomatoes
- 8 oz can of tomato sauce
- 1 cup water
- salt & pepper to taste
- Parmesan rind optional
- ¼ cup fresh basil, thinly sliced
To assemble the sandwiches
- 8 Hoagie rolls, buns or a large loaf of french bread
- olive oil
- garlic powder optional
- 8 oz fresh mozzarella, thinly sliced
- parmesan cheese, shredded or grated optional
- fresh basil, sliced optional
Instructions
Prepare the meatballs
- Combine egg, minced onion, crushed garlic, grated parmesan, Panko breadcrumbs, salt, pepper and Italian seasoning in a small mixing bowl until well combined.
- In a large mixing bowl add ground beef, ground sausage and the cheese and egg mixture. Use your hands to mix the seasoning into the meat until well incorporated. Be careful not to over mix.
- Form meatballs using about 2 tablespoon of the mixture for each ball, about 19-22 meatballs.
- Add a couple tablespoon of olive oil to a large Dutch oven and heat over medium high until hot and shimmering. Once hot add about half of the meatballs and cook undisturbed for 1 ½ to 2 minutes. Flip to the other side and continue cooking for another 1-2 minutes until the meatballs are browned but not cooked through. Use a slotted spoon or tongs to take the meatballs out of the pot and place on a plate. Repeat the process until all the meatballs have been browned and then set the plate aside. Do not wash the pot.
Prepare the sauce
- In the same pot where the meatballs will seared add the diced onion and cook over medium to medium high heat for about 5 minutes, scraping up any brown bits.
- Add crushed garlic and continue to cook for about 30 seconds until fragrant. Then add 1 ½ tablespoon of ItalianSeasoning and the tomato paste. Cook over medium high heat for about one minute, stirring constantly.
- Pour in crushed tomatoes, tomato sauce and 1 cup of water. Season with a little salt and pepper and add in one parmesan rind (optional).
- Nestle the browned meatballs into the sauce, being careful not to break them up. Bring the sauce to a low boil over medium high heat. Then turn the heat down to low to medium-low and simmer for 20-30 minutes until the meatballs are fully cooked.
- Taste the sauce and season with additional salt and pepper as desired. Then remove the pot from the heat and mix in the fresh basil.
Assemble the sandwiches
- While the meatballs are cooking preheat the oven to 400 degrees F.
- Slice the buns lengthwise, but not all the way the through. Brush the insides of the buns with olive oil and sprinkle with a little garlic powder. Toast the buns open side up at 400 degrees for about 5 minutes.
- To assemble, place a few slices of the mozzarella on the bottom of the bun. Then spoon on some of the sauce and place 3-4 meatballs on top. Top the meatballs with a few more slices of the mozzarella. Then melt the cheese by placing the assembled sandwiches back on the baking sheet and cook in the 400 degree oven for a few minutes until melted.
- Top with a sprinkle of parmesan and fresh basil and serve. Enjoy!










Anaiah
Yum! These meatball subs were delicious and the perfect weeknight dinner. Definitely making again!
Adriana
Such a classic! My husband is a fan of these Italian subs he loves them. Thanks for all the detailed instructions. You have helped me a lot!
Michelle
Italian meatballs are my favorite. Add them into a sub and that's totally my jam! These were extremely tasty.
Oscar
The use of panko breadcrumbs in the meatballs was a good idea. I used to eat meatball subs as a kid all the time and this recipe brought me back to my childhood. Thank you.
Addie
These meatballs are so tender and flavorful! Such a great comfort food dish!
Tracy S
GIRL. These were the MOST delicious and TENDER meatballs I’ve ever made. I froze the extra… but forreal 10/10 recipe!
jamjarkitchen
Yay! So glad you enjoyed!
Nicole S
Made these for xmas this year and my family said they were the best meatballs they have ever had!! I didn't have time for the sauce so I just used raos marinara and it was still very very good. Doubled the recipe and made 60 meatballs. So easy and delicious!
JT
Disappointed these didn’t turn out. I was careful not to over mix and followed recipe to a T, but the meatballs were tough and sauce lacked flavor.
jamjarkitchen
Hi JT- I'm sorry they didn't work out for you. These meatballs are typically very tender so I'm not sure why they turned out tough. The main reasons this can happen are if they are over-handled or over-mixed, if they're packed too tightly or if they are overcooked. I recommend bringing them to a low boil and then immediately turning it down to a simmer for the rest of the cooking time. If they stay at a boil for the whole cooking time or longer than can make them tough. As for the sauce, cooking the onions and garlic in the meatball brown bits usually gives great flavor. If you feel it is lacking I recommend tasting and then adding more salt or possibly some cayenne. Often when something lacks in flavor is simply means it hasn't been seasoned enough. You can even add a squeeze of lemon or a little sugar if that's more to your liking). Hope this helps!