In this article
Meatball subs had one rule in our house, and my father made it: the roll gets toasted with garlic butter before a single meatball goes in, or it is not a meatball sub, it is a wet sandwich. He was right. A soft roll under hot tomato sauce goes soggy before you are halfway through it. Friday night was meatball sub night, and they fed the whole family for very little. Big, tender beef meatballs simmered right in the tomato sauce, a crisp golden roll, and mozzarella melted and browned under the broiler.
The soggy roll is the problem everybody has, and it has an easy fix. The cut side of the roll is spread with garlic butter and toasted under the broiler until it is golden and crisp, which makes a seal the sauce cannot soak through. The meatballs go in with only a spoonful of sauce over them, not a ladle, and the cheese goes on top to hold it all together. Here is how to toast the roll so it never goes soggy, and how to keep the meatballs tender.
Why this meatball subs works
- Breadcrumbs soaked in milk. This panade keeps the meatballs soft and juicy all the way through.
- Browned, then simmered. Browning gives flavor; finishing in the sauce makes them tender and seasons the sauce.
- Garlic butter on the roll. Toasted butter seals the bread so the sauce cannot soak in.
- Only a spoonful of sauce. Enough to coat, never enough to drown the bread.
- Cheese under the broiler. Melted, browned mozzarella holds the meatballs in place.
Ingredients
Makes about 24 meatballs, enough for 6 subs. The measurements are in US cups with grams in brackets.
For the meatballs
- 2 pounds ground beef, 85% lean (900g)
- 1 cup plain breadcrumbs (110g)
- 2/3 cup whole milk (160ml)
- 2 large eggs
- 1/2 cup grated parmesan (45g)
- 1 small onion, grated
- 3 cloves garlic, minced
- 1 teaspoon dried oregano
- 1 1/2 teaspoons fine salt and 1/2 teaspoon black pepper
- 2 tablespoons olive oil, for browning
For the sauce
- 1 can (28 ounce, 800g) crushed tomatoes
- 1 can (15 ounce, 425g) tomato sauce
- 2 cloves garlic, minced
- 1 teaspoon sugar
- 1 teaspoon dried basil
- Salt and pepper
For the subs
- 6 soft sub rolls, about 8 inches long
- 6 tablespoons butter (85g), softened
- 2 cloves garlic, minced very fine
- 12 slices mozzarella or provolone (about 340g)
Ground beef with some fat makes the most tender meatballs; very lean beef turns dry. Choose rolls that are soft inside with a thin crust.
How to make meatball subs
Make the meatballs
- In a large bowl, stir the breadcrumbs into the milk and leave for 5 minutes, until soft.
- Add the eggs, parmesan, grated onion, garlic, oregano, salt and pepper and mix well. Add the ground beef and mix gently with your hands just until combined.
- Roll into 24 balls about the size of a golf ball, with wet hands so they stay smooth.
- Heat the oil in a large deep skillet over medium-high heat and brown the meatballs in batches, about 6 minutes a batch, turning them, until browned on most sides. Set them aside.

Simmer in the sauce
- Pour off most of the fat. Add the garlic to the skillet and stir for 30 seconds, then add the crushed tomatoes, tomato sauce, sugar, basil, salt and pepper.
- Return the meatballs to the sauce, cover and simmer gently for 20 to 25 minutes, until cooked through and tender.
Build the subs
- Heat the broiler. Mix the soft butter with the garlic. Split the rolls along the top without cutting all the way through and spread the garlic butter over the cut sides.
- Set the rolls open on a baking sheet and broil for 1 to 2 minutes, until the cut sides are golden and crisp.
- Put 4 meatballs in each roll and spoon a little sauce over them. Lay two slices of cheese over each.
- Broil for 2 to 3 minutes, until the cheese melts and browns in spots. Serve right away with extra sauce on the side.

Tips that make the difference
- Mix the meatballs gently. Pressing and kneading makes them dense.
- Toast the rolls until truly golden, not just warm. That crust is what keeps the sauce out.
- Spoon on sauce, do not ladle it. Serve the extra sauce for dipping.
- Watch the broiler every second. Cheese goes from browned to burnt very fast.
- Grated onion melts into the meat; chopped onion makes the meatballs fall apart.
Variations
- Provolone. Use sliced provolone for a sharper flavor.
- Baked meatballs. Bake the meatballs on a sheet at 400 degrees for 18 minutes instead of browning them in the skillet.
- Spicy. Add red pepper flakes to the sauce.
- Slider size. Make small meatballs and serve them on soft dinner rolls for a crowd.
Storage and make-ahead
Keep the meatballs in their sauce in the refrigerator for up to 4 days. They taste even better the next day.
Freeze the meatballs in sauce for up to 3 months and thaw them overnight in the refrigerator.
Assemble the subs only when you serve them, so the rolls stay crisp.
Frequently asked questions
How do you keep a meatball sub from getting soggy?
Toast the cut side of the roll with garlic butter until golden, use only a spoonful of sauce, and put the cheese on top.
Can I make the meatballs ahead?
Yes. Make them the night before and keep them in the sauce in the refrigerator, then reheat gently.
What cheese is best?
Mozzarella melts the most; provolone has more flavor. Both brown well under the broiler.
Why are my meatballs tough?
The beef was too lean or mixed too hard. Use a little fat and mix just until combined.
Make them on a Friday night, and keep the napkins close.
Meatball Subs (All Beef Meatballs, a Toasted Roll That Never Goes Soggy)
Friday night meatball subs: tender all beef meatballs simmered in tomato sauce, piled into rolls toasted with garlic butter so they stay crisp, topped with mozzarella and broiled until bubbly.
Ingredients
- 2 pounds ground beef, 85% lean
- 1 cup plain breadcrumbs
- 2/3 cup whole milk
- 2 large eggs
- 1/2 cup grated parmesan
- 1 small onion, grated
- 3 cloves garlic, minced
- 1 teaspoon dried oregano
- 1 1/2 teaspoons fine salt and 1/2 teaspoon black pepper
- 2 tablespoons olive oil, for browning
- 1 can (28 ounce, 800g) crushed tomatoes
- 1 can (15 ounce, 425g) tomato sauce
- 2 cloves garlic, minced
- 1 teaspoon sugar
- 1 teaspoon dried basil
- Salt and pepper
- 6 soft sub rolls, about 8 inches long
- 6 tablespoons butter (85g), softened
- 2 cloves garlic, minced very fine
- 12 slices mozzarella or provolone
Instructions
- In a large bowl, stir the breadcrumbs into the milk and leave for 5 minutes, until soft.
- Add the eggs, parmesan, grated onion, garlic, oregano, salt and pepper and mix well. Add the ground beef and mix gently with your hands just until combined.
- Roll into 24 balls about the size of a golf ball, with wet hands so they stay smooth.
- Heat the oil in a large deep skillet over medium-high heat and brown the meatballs in batches, about 6 minutes a batch, turning them, until browned on most sides. Set them aside.
- Pour off most of the fat. Add the garlic to the skillet and stir for 30 seconds, then add the crushed tomatoes, tomato sauce, sugar, basil, salt and pepper.
- Return the meatballs to the sauce, cover and simmer gently for 20 to 25 minutes, until cooked through and tender.
- Heat the broiler. Mix the soft butter with the garlic. Split the rolls along the top without cutting all the way through and spread the garlic butter over the cut sides.
- Set the rolls open on a baking sheet and broil for 1 to 2 minutes, until the cut sides are golden and crisp.
- Put 4 meatballs in each roll and spoon a little sauce over them. Lay two slices of cheese over each.
- Broil for 2 to 3 minutes, until the cheese melts and browns in spots. Serve right away with extra sauce on the side.






