This Meatball Sub recipe has homemade beef and pork meatballs that are cooked in marinara sauce and served on toasted buns with cheese. A delicious homemade dinner the whole family loves!
Sandwiches are an easy way to change up your weeknight dinner routine! We love a good Club Sandwich, Monte Cristo Sandwich, or a Grilled Cheese Sandwich.
Is there anything better than a hot sandwich? I love them – especially when they consist of juicy meatballs, cheese, and sauce on a toasty bun.
You can say I’m a meatball sub fan.
Now, I know it’s easy to go to the nearest sandwich shop and grab one at the drive-thru, but trust me when I say that these are so much better. No dry, processed meatballs. No soggy bread.
Just flavor.
It’s totally worth the effort to make these at home!
Ingredients
Bread – I like to just use sandwich bread, but any bread should work.
Milk – This is what you’ll use to soften the bread. In a pinch, you could use water as well.
Olive Oil – For sauteing the onion and garlic. Feel free to sub in another oil of your choice, if desired.
Onion & Garlic – These bring lots of flavor to your meatballs.
Ground Beef & Italian Sausage – I love using a mixture of ground beef and Italian sausage for these meatballs because there is just so much more flavor. I use mild Italian sausage, but you could use hot if you want to make these spicy. And really, if you want, you could use all beef or all sausage, but the combination really is the best.
Egg – The egg will help to bind everything together.
Parmesan Cheese – I like to use freshly grated Parmesan cheese.
Parsley – Fresh is best here, but if you need to use dried, you’ll use about 1 teaspoon.
Salt, Paprika, and Oregano – These are all for seasoning the meatballs.
Marinara Sauce – If you have a little bit of extra time, you can make this 30 Minute Marinara, but store bought marinara will work here, as well.
Buns – You can use baguettes or sub rolls here, or anything that will work for a meatball sub. Although they are a little smaller, I will actually usually use some hearty hot dog buns.
Provolone Cheese – You need cheese for your meatball sub! Provolone is my first choice, but mozzarella would work great, as well.
How to Make a Homemade Meatball Sub
Make the Meatballs:
- Soak the bread in the milk to soften it. Once the milk is soaked in, use your hands to break up the bread.
- Cook the onions and garlic in the olive oil.
- Combine all of the meatball ingredients and mix just until it is all combined.
Form the Meatballs:
- Using a scoop or eyeballing it, divide the mixture into even balls.
- With your hands just barely wet, roll the balls to make them smooth so that they won’t fall apart as you cook them.
Cook the Meatballs:
- Working in batches, brown the meatballs in oil in a hot skillet, turning them to brown all the sides. Once browned, remove from the skillet and cook the next batch.
- Add all of the meatballs back into the skillet, and add the marinara sauce.
- Cook over medium-low for about 15 minutes, until the meatballs are cooked through.
Assemble the Sandwiches:
- Open your rolls on a baking sheet, and place 2 slices of cheese on each roll.
- Broil for a few minutes until the cheese is melted and the roll is toasted.
- Add some of the meatballs and sauce, and serve!
Meatball Sub Tips
- The secret to these meatballs is using the soaked piece of bread to keep them moist. I learned this trick in an old Joy of Cooking cookbook and love to use it more than breadcrumbs.
- The meatballs can be made ahead of time and refrigerated until you are ready to eat them. I would suggest gently reheating them in the sauce on the stove before adding them to the rolls.
- I like to use a medium cookie scoop to make sure all of the meatballs are approximately the same size.
- Sliced provolone works well, but shredded cheese would work, too.
- I like to melt the cheese on the roll and then add the meatballs, but my husband likes the cheese on top so he’ll add the meatballs then the cheese, and then place it under the broiler.
- The sandwiches don’t store well once assembled, so only assemble as many as you intend to eat.
More Recipes with Meatballs
Parmesan Meatballs
Asian Meatballs
Slow Cooker Mexican Meatballs
Crockpot BBQ Grape Jelly Meatballs
Sweet and Sour Meatballs
Breakfast Sausage Meatballs
Meatball Pizza
LOOKING FOR MORE FREE RECIPES?
Subscribe to my free recipe newsletter to get new family friendly recipes in your inbox each week! Find me sharing more family-friendly inspiration on Pinterest, Facebook, and Instagram.
Meatball Sub
Ingredients
- 2 slices of bread
- 3 tablespoons milk
- 2 tablespoons extra virgin olive oil divided
- 1/4 cup finely diced onion
- 1 clove garlic minced
- 3/4 pound ground beef
- 3/4 pound Italian sausage casings removed
- 1 egg
- 3 tablespoons grated parmesan cheese
- 3 tablespoons chopped fresh parsley
- 1 teaspoon salt
- 1/4 teaspoon paprika
- 1/4 teaspoon dried oregano
- 1 1/2 cups marinara sauce
- 8 sandwich rolls or buns
- 16 slices provolone cheese
Instructions
- Place the slices of bread in a large bowl. Pour the milk over the top and let them sit for about 5 minutes to let the milk soak into the bread.
- Meanwhile, heat 1 tablespoon of the oil over medium-high heat in a skillet. Add the onions and cook until tender. Add the garlic the last 30 seconds of cooking. Remove from the heat to cool slightly.
- Once the milk has soaked into the bread, use your hands or a masher to crumble the bread.
- To that same bowl, add the ground beef, sausage, egg, parmesan, parsley, salt, paprika, oregano, and cooked onion mixture. Use your hands or a wooden spoon to gently combine everything, being careful to not overwork the meat.
- Using a 1 tablespoon scoop (or your hands) divide the mixture into about 30 meatballs. Use slightly wet hands to roll them into balls.
- Heat the remaining tablespoon of oil in a large skillet over medium heat. Working in 2 or 3 batches, add the meatballs to the skillet and cook until browned on all sides. This should only take about 5 minutes per batch – they will not be cooked through all the way. Remove the meatballs to a plate and repeat with the remaining meatballs.
- When all of the meatballs have been browned, return them all to the skillet. Add the marinara sauce and stir gently to coat. Turn the heat down to medium-low and let the meatballs simmer in the sauce, uncovered, for about 15 minutes.
- Turn the oven on to broil.
- Place your rolls on a large baking sheet and open up. Place 2 slices of cheese on each roll.
- Broil until the cheese has melted and the buns are toasted. Watch them carefully, as this will only take a minute.
- Add some of the meatballs and sauce to each roll and serve.
Tasha says
Can this be made just with ground beef and no pork?
Deborah says
Sure can!
Bev @ Bev Cooks says
A.MEN.
Nutmeg Nanny says
I am always up for a meatball sandwich 🙂 this looks perfect!!
Chels R. says
WOW! I’m so wishing I could of ate this instead of the chicken noodle soup I ate at lunch because I’m sick. 🙁
Emily says
I’ll take one for lunch, please. 🙂
Angelyn @ Everyday Desserts says
Mmmm … look at all that cheese!
Rachel @ Bakerita says
Meatball subs are my FAVE, and that melty cheese is calling my name! Such perfect game day food, looks delicious!!
Miss Scarlett says
Oh my word – I HEART meatball sandwiches. Ironically, my favorite one of all time was the one they served back at the college dining common. It was SO good. I may have to try yours:) I just don’t order them b/c they are not exactly good for you, but if I make it myself I have more room to make it my own. Thanks for the recipe!
Ann says
Wow! That is one hellasandwich! Awesome!
Kevin says
Nice looking meatball sub. The Kobe beef sliders sound interesting.
Kristen says
Oh my gosh… this looks messy and good!
I have yet to have a fab buffet in Vegas except at Mandalay Bay. They had a fantastic champagne brunch buffet!
I love Vegas though… I’d eat so so food just to be there 🙂
Meeta says
Teaser!!!!!! I had a plate of salad for dinner – aaarghhh! Drooooling over this!
Cate says
OK, now that my mouth is seriously watering…
Maryann says
I’ll take that meatball sub over most foods anytime!