Go Back
+ servings
Cheesy Meatball Subs served.

Meatball Subs

These cheesy meatball subs are built to satisfy with shortcut options to use leftover meatballs and sauce.
5 from 1 vote
Print Pin
Prep Time: 30 mins
Cook Time: 50 mins
Total Time: 1 hr 20 mins
Servings: 8
Calories: 1010kcal


For the Sauce:

  • 3 Tablespoons olive oil
  • 1 large yellow onion (diced)
  • 3 medium carrots (peeled and diced)
  • 3 cloves garlic (minced)
  • 2 cans crushed or whole tomatoes 28oz cans (including the juice)
  • 4 Tablespoons fresh basil (chopped)
  • 4 Tablespoons fresh parsley (chopped)
  • 2 teaspoons tomato paste
  • 1-3 Tablespoons sugar (to taste)
  • Salt and pepper ( to taste)

For the Meatballs:

  • 1 cup milk
  • 4-5 slices fresh bread (Italian or country white, crusts removed)
  • 2 lbs. ground beef
  • 1 lb. Italian sausage
  • cup ricotta cheese
  • cup Parmesan cheese (grated)
  • 3 eggs
  • 3 teaspoons Kosher salt
  • 1 ½ Tablespoons fresh parsley (chopped)
  • 3 teaspoons black pepper
  • 1 ½ teaspoons dried oregano
  • 4 cloves garlic (minced)
  • 1 cup flour
  • ¼ cup olive oil

For Serving:

  • 1 package sub buns
  • 1 red onion
  • 2 cups Gruyere cheese (shredded)


Prep your sauce.

  • If you’re using leftover or jarred sauce, simply heat it up in the microwave or bring it to a simmer in a sauce pan and skip ahead. Otherwise, to make a sauce from scratch:
  • Dice carrots and onions. Mince garlic. Chop herbs. Open up all your canned goods. Start the panade for the meatballs (instructions below).
  • In a large skillet or Dutch oven, heat olive oil to medium heat. Add the carrots and onions and toss to coat with oil. Reduce heat to low, cover, and cook for 10-15 minutes, stirring occasionally, until veggies are softened.
  • Remove lid, add garlic, increase heat to medium high and cook until fragrant (about 1 minute). Add tomatoes, tomato paste, parsley, basil, red pepper flakes, one Tablespoon of sugar, and a generous sprinkle of salt and pepper.
  • Bring sauce to a gentle boil, then reduce heat to low and simmer uncovered for 30-45 minutes, stirring occasionally.
  • Add salt, pepper, and sugar to taste. If you prefer a smoother (less chunky) sauce, use an immersion blender to puree the sauce to desired texture.

Prep your meatballs.

  • If you’re using leftovers or frozen meatballs, heat them up in the microwave and skip ahead. Otherwise to make them from scratch:
  • Make a panade by tearing bread into small pieces and pour the milk over top. Allow it to soak for several minutes in a large bowl. The texture should be like a very thick, wet paste. If the mixture is too loose, add a few more bread pieces.
  • In a large mixing bowl whisk together ricotta, Parmesan, eggs, and your seasonings (salt, parsley, pepper, oregano, and garlic).
  • Add the panade and ground beef to the mixing bowl. Use your hands to gently stir all ingredients into the ground beef until combined.
  • Form mixture into balls (with hands or a 2 tablespoon cookie scoop).
  • Coat each meatball with flour and pan fry in olive oil 2-3 minutes per side on med-high heat. (Alternatively you can cook them in the oven on a foil or parchment lined baking sheet at 375 for 20-25 minutes, or until the meatballs internal temperature reaches 165 degrees F on a meat thermometer.)
  • *Optional: Once meatballs are cooked, place into a saucepan and low simmer in the prepared sauce.
  • Caramelize onions. In a large non-stick skillet, heat olive oil to medium heat. Add a sliced onion and salt, reduce heat to low and cook until soft, tender, and sweet. (it will take 20-30 minutes)

Toast buns.

  • Slice and toast your sub buns in the broiler or toaster oven.


  • Layer meatballs, sauce, onions, and shredded cheese on the sliced bottom bun, and broil everything again until the cheese is melted. Top with the top sub bun and Enjoy!
Course Main Course
Cuisine Italian
Keyword cheesy meatball subs, leftover meatball subs


Calories: 1010kcal | Carbohydrates: 41g | Protein: 50g | Fat: 73g | Saturated Fat: 28g | Polyunsaturated Fat: 6g | Monounsaturated Fat: 33g | Trans Fat: 1g | Cholesterol: 241mg | Sodium: 2006mg | Potassium: 1274mg | Fiber: 6g | Sugar: 17g | Vitamin A: 5041IU | Vitamin C: 26mg | Calcium: 573mg | Iron: 7mg