Vegan Meatball Sub

This is the ultimate vegan meatball sub recipe. Hearty meatballs are topped with marinara and gooey vegan cheese sauce nestled in a crunchy hoagie roll.

Close up of meatball sub sandwich being held in a hand

A vegan meatball sub is one of the most satisfying sandwiches you can make! Enjoy it on a cold day for some much-needed comfort.

These vegan meatballs are based on my Lentil Meatballs recipe but made better.

Based on a tip from Kenji at Serious Eats, the cooked lentils were baked in the oven to remove as much moisture as possible.

The result is a texture that is tender and less mushy on the inside while still holding its shape.

They are then nestled in a toasted hoagie roll, topped with garlicky marinara and a creamy homemade vegan cheese sauce.

Key Tips to Follow

  1. For the perfect vegan meatball texture, dehydrate your lentils in the oven. Cooked lentils capture a lot of moisture which can create a mushy meatball texture. Dehydrating them by baking them in the oven allows most of the moisture to evaporate for a more tender bite.
  2. Bake the vegan meatballs, as opposed to pan-frying them. Baking in the oven helps them hold their shape well.
  3. Have a whisk handy for a velvety smooth vegan cheese sauce.
Vegan meatball sub sandwich on slate plate

Ingredients You’ll Need

  • Cooked lentils – Use green or brown.
  • Mushrooms – Use fresh, dried or a combination. My favorites for the best texture and flavor are shiitake and oyster mushrooms.

    For dried mushrooms, cover with water to rehydrate and soften, then squeeze to remove excess water.
  • Ground flaxseeds – When mixed with water, it acts as a binder in place of eggs. However, it’s optional if you’re using rehydrated mushrooms.
  • Olive oil
  • Onion
  • Garlic
  • Dried oregano
  • Fresh basil
  • Fresh thyme
  • Vegetable bouillon paste or your favorite all-purpose seasoning
  • Salt and Pepper
  • Almond flour – Adds a rich, nutty flavor the lentil balls. I highly recommend it.

For the vegan cheese sauce, add these items to your list:

  • Unsweetened soy milk
  • Potato starch – Makes it thick and stretchy.
  • Nutritional yeast – Adds a “cheesy flavor.
  • Vegan lactic acid – Adds the much-needed sharp, tangy flavor to vegan cheese recipes.

    I’ve used it in Vegan Mac and Cheese and Vegan Fettuccine Alfredo.
    If unavailable, use two or three times the amount of lemon juice.
  • Dijon mustard
  • Garlic or garlic powder
  • Shallot, onion or onion powder
  • Salt
  • Olive oil – Optional but adds creaminess.

To assemble the sandwich, you’ll need:

  • Marinara sauce – Homemade or storebought.
  • Hoagie rolls
  • Fresh basil

How to Make Vegan Meatball Sub

Vegan meatballs:

1. Get a baking sheet and measure out enough parchment paper. Cut the paper in half and place both halves on the sheet.

2. Spread cooked lentils on one half. On the other half, add the sliced fresh mushrooms, quartered onion and unpeeled garlic cloves.
Season with salt and pepper and drizzle with olive oil. Toss.

Lentils and chopped vegetables spread out on parchment paper

3. Place in a preheat 375°F (190°C) oven. 20 minutes into baking, remove the lentils. 10 to 15 minutes later, remove the vegetables.

Baked lentils on parchment paper

4. Combine ground flaxseeds and water. Set aside to thicken. Skip this step if you’re using any rehydrated mushrooms, as they will provide enough moisture.

5. Add the lentils, almond flour and mushrooms and roasted vegetables in a food processor. Pulse until crumbled.

Ingredients for vegan meatballs in a food processor

6. Add the herbs, bouillon paste, salt, pepper, and flaxseed mixture. Blend until the mixture sticks together but still has some texture.

I’ll admit, this batch was blended a bit too long. But baking the lentils made a huge difference as they still weren’t as mushy at the end.

Blended ingredients for vegan meatballs in a food processor

7. Divide into 8 equal portions and roll into balls. Bake for 15 to 20 minutes on a parchment-lined baking sheet at 350°F (176°C).

Baked vegan meatballs on a baking sheet

Vegan cheese sauce:

1. If you’re using fresh garlic and shallots, blend with the remaining ingredients until finely minced.

Creamy liquid in a cup with immersion blender

2. Cook the mixture over low heat in a saucepan, whisking until smooth and thick.

Side by side images showing vegan cheese sauce in a pan being stirred with a whisk

To assemble:

  1. Reheat the marinara sauce.
  2. Slice and toast the hoagie rolls.
  3. Spread the marinara sauce on the bottom half of the rolls.
  4. Place 4 vegan meatballs on top of each.
  5. Top with marinara, vegan cheese sauce and freshly chopped basil.
  6. Serve and enjoy!
Close up of meatball sub sandwich being held in a hand
Hand holding vegan meatball sub sandwich cut in half

Recipe Variations or Substitutions


  • You can use any sauce you like. Try an arrabbiata sauce instead of a marinara if you prefer spicy foods. Alternatively, you can try a roasted garlic tomato sauce, mushroom tomato sauce, or even a basil pesto.
  • Get creative with the toppings. Add caramelized onions, mushrooms, peppers, grilled zucchini or whatever you like!


  • Substitute the vegetable bouillon paste with soy sauce or liquid aminos if you prefer.
  • Lemon juice is a good substitute for lactic acid. Use 2 to 3 times as much.
  • Use cooked black beans, kidney beans or chickpeas instead of lentils.
  • You can also substitute potato starch with tapioca or corn starch.
  • Use any unsweetened dairy-free milk that you like.
  • For a nut-free option, use ground pumpkin or sunflower seeds instead of almond flour.

Storage Suggestions

Plant-based meatballs and cheese sauce keep for 3 days in the fridge. Place them in airtight containers for optimal freshness.

To freeze the meatballs, line them on a baking sheet until frozen. Then, transfer to a plastic bag. Enjoy within 3 months.

To freeze the sauce, place it in a plastic bag or heatproof container. Use within 3 months.

How to Reheat

Reheat lentil meatballs in the oven. Place them on a parchment-lined baking sheet.

Bake for 5 to 10 minutes at 350°F (176°C) if you’re reheating from the fridge. If you’re reheating from frozen, bake for an additional 5 to 10 minutes.

The cheese sauce can be reheated on the stovetop or in the microwave.

Serving Ideas

  • A side of extra marinara or cheese sauce for dipping
  • A cup of vegetable soup
  • Garden salad
  • French fries or sweet potato fries
  • Serve the meatballs as an appetizer with the sauces.

More Sandwich Recipes

Close up of meatball sub sandwich being held in a hand

Vegan Meatball Sub

4.34 from 3 votes
Prep: 30 minutes
Cook: 50 minutes
Total: 1 hour 20 minutes
Servings: 2
Calories: 798kcal
Print Pin Rate
This is the ultimate sub sandwich recipe! Hearty meatballs are topped with marinara and gooey vegan cheese sauce nestled in a crunchy hoagie roll.

Baking Recipes: For more accuracy, use Metric measurements and measuring spoons.


Mushroom Lentil Meatballs

  • 1 cup (200 g) cooked lentils, drained (See Notes)
  • 1 tbsp (15 g) ground flaxseeds
  • 2 tbsp (30 ml) water
  • 2 tbsp (30 ml) olive oil
  • 1 cup (75 g) mushrooms, sliced – fresh or dried (See Notes)
  • 1 medium onion, cut into quarters
  • 4 cloves garlic, unpeeled
  • 1 teaspoon (5 g) dried oregano
  • 6 fresh basil leaves
  • 2 teaspoon (10 g) fresh thyme
  • 1 ½ tbsp (22 g) Low Sodium Better Than Bouillon Vegetable Base, or soy sauce/liquid aminos
  • Salt and pepper, to taste
  • ½ cup (60 g) almond flour, See Notes

Vegan Cheese Sauce

  • ½ cup (120 ml) soy milk, unsweetened
  • 1 tbsp (15 g) potato starch, or tapioca starch
  • 2 tbsp (8 g) nutritional yeast
  • ½ teaspoon (2 g) vegan lactic acid, or 1 tsp lemon juice
  • ½ teaspoon (2 g) dijon mustard
  • 1 clove garlic, or 1 tsp garlic powder
  • ½ shallot, or ¼ onion or ½ tsp onion powder
  • ¼ teaspoon (1 g) salt, or to taste
  • ½ tbsp olive oil, optional but adds extra creaminess

To Assemble

  • 1 cup (240 ml) marinara sauce
  • 2 hoagie rolls
  • Chopped fresh basil, for garnish


Vegan Meatballs

  • Preheat the oven to 375°F (190°C). Measure out and cut enough parchment paper to line the baking sheet. Cut the paper in half from the wider end. Place both on the baking sheet.
  • On one half of the parchment paper, spread on the cooked lentils.
    1 cup (200 g) cooked lentils
  • On the other half, spread the sliced fresh mushrooms, quartered onion and unpeeled garlic cloves. Drizzle with olive oil and season with salt and pepper. Toss to coat.
    2 tbsp (30 ml) olive oil ,1 cup (75 g) mushrooms ,1 medium onion ,4 cloves garlic ,Salt and pepper
  • Place the tray in the oven. Bake the lentils for 20 minutes or until most of the moisture has evaporated. Roast the vegetables for 20 to 30 minutes or until browned.
  • If you're using only fresh mushrooms, combine the ground flaxseeds and water in a bowl and set aside until it thickens. Skip this step if you're using any rehydrated mushrooms (See Notes).
    1 tbsp (15 g) ground flaxseeds ,2 tbsp (30 ml) water
  • Add the lentils, almond flour, peeled garlic cloves, mushrooms and roasted vegetables to a food processor. Set the tray aside then pulse the mixture to break up large pieces.
    ½ cup (60 g) almond flour
  • Add the oregano, basil, thyme and bouillon paste. Season with salt and pepper. Add the flaxseed mix. Pulse for a few seconds or until the mixture holds together when pressed but still has some texture.
    1 teaspoon (5 g) dried oregano ,6 fresh basil leaves ,1 1/2 tbsp (22 g) Low Sodium Better Than Bouillon Vegetable Base ,Salt and pepper ,2 teaspoon (10 g) fresh thyme
  • Divide into 8 equal portions and roll each into a ball. Place back on the parchment-lined baking sheet and bake for 15 to 20 minutes at 350°F (176°C) or until browned.

Vegan Cheese Sauce

  • If you’re using fresh garlic and onion, add to a small blender with the remaining ingredients. Blend until they are finely minced.
    ½ cup (120 ml) soy milk ,1 tbsp (15 g) potato starch ,2 tbsp (8 g) nutritional yeast ,½ teaspoon (2 g) vegan lactic acid ,½ teaspoon (2 g) dijon mustard ,½ shallot ,1 clove garlic
  • Place the pan over low heat and pour in the mixture. Cook while stirring with a whisk or wooden spoon until the sauce becomes smooth and thick.
  • Taste and adjust the seasoning or spices as needed then remove from heat.
    ¼ teaspoon (1 g) salt

To Assemble

  • Reheat the marinara sauce. Slice, brush with olive oil and toast the hoagie rolls.
    1 cup (240 ml) marinara sauce ,2 hoagie rolls ,½ tbsp olive oil
  • Spread some marinara sauce on the bottom half of the roll and add 4 vegan meatballs. Top with more marinara, vegan cheese sauce and fresh basil. Serve immediately.
    Chopped fresh basil


  • To make 1 cup of cooked lentils, cook ½ cup (100g) of dried lentils in 2 cups (480ml) of water.
  • If you’re using dried mushrooms, cover with water until rehydrated and softened. Then drain and squeeze out as much extra water as possible. No roasting needed.
  • No need to add any flax seeds and extra water as they should have enough moisture for binding.
  • Ground or blend equal amounts of whole almonds to make almond flour.
  • For a nut-free option, use sunflower or pumpkin seeds.
Tried this recipe? Upload a photo in the comments below!If you enjoyed it, please consider leaving a rating. It really helps the blog.


Calories: 798kcal | Carbohydrates: 89g | Protein: 32g | Fat: 38g | Saturated Fat: 4g | Sodium: 2970mg | Potassium: 1407mg | Fiber: 20g | Sugar: 18g | Vitamin A: 1114IU | Vitamin C: 31mg | Calcium: 265mg | Iron: 19mg
Nutrition Disclaimer
Course: Dinner, Lunch
Cuisine: American
Diet: Vegan, Vegetarian

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating

The maximum upload file size: 3 MB. You can upload: image. Drop file here


  1. 4 stars
    Hi, Thank you for posting this recipe. I’ve made the meatballs only for use in spaghetti. The texture is very good, and the flavor is there, but they came out very very salty. I think this is due to the vegetable base I used (which was the better than boullion veggie). So I wonder if the amount is correct, or maybe meant to be in teaspoons rather than tablespoons. Or maybe I just did something else different without realizing. I just broke them up and used them in my spaghetti which diluted the saltiness. Next time I’ll use less. Very good. I tried cooking some of them in my air fryer instead of the oven and I preferred their texture (a bit drier/crispier). Thanks again for the recipe. I’ll be trying the cheese sauce soon.

    1. Hi Steph! Thanks so much for the feedback and very sorry about the not being clearer about that ingredient. I had completely forgotten to change the link to Boullion base. Yes, you are right the original version is quite salty. I’ve been using the low-sodium version for a few months now. It’s much better and allows you to use a bit more and add salt to your liking. That’s why the measurement is in tablespoons.

      You will certainly need less if using the original and skipping any extra salt.

      I started changing the links and specifying it in some recipes but I guess I missed this one. My apologies. But I’m definitely going to go through all the recipes and double-check them right now.

      Thanks again!