The BEST Vegan Meatloaf delivers all the savory flavor and meaty texture as the classic. Perfect for both holiday entertaining and weeknight dinners.

Course: Entree, Main Course
Cuisine: American, Italian
Diet: Vegan
Prep Time: 25 minutes
Cook Time: 45 minutes
Total Time: 1 hour 10 minutes
Servings: 6
Calories: 350kcal


  • Large skillet
  • Food processor
  • Loaf pan


  • 2 Tbsp. flaxseed meal (ground raw flaxseed)
  • 2 Tbsp. olive oil
  • 8 oz. sliced baby bella (cremini) mushrooms
  • ¾ cup chopped onion
  • 3 Tbsp. tomato paste
  • 3 garlic cloves, minced
  • 1 (8-oz.) package tempeh
  • ½ cup walnut halves
  • 1 ¾ cups cooked brown lentils (cooked from dry, or from 1 (15-oz.) can of rinsed/drained lentils)
  • 1 cup unseasoned panko breadcrumbs (if making gluten free, use Ian’s gluten-free panko)
  •  cup plus 2 Tbsp. ketchup divided
  • 2 Tbsp. vegan Worcestershire sauce (sub regular Worcestershire sauce if not making vegan)
  • 1 Tbsp. Italian seasoning
  • 1 ½ tsp. kosher salt
  • ¾ tsp. black pepper
  • 3 Tbsp. brown sugar
  • 1 Tbsp. apple cider vinegar (sub red wine vinegar)

Optional for serving

  • ketchup, BBQ sauce, and/or fresh thyme


  • Heat the oven to 350ºF (176 C) and line a standard loaf pan (8.5 x 4.5 x 2.75 inches) with parchment paper. Lightly grease with cooking spray.
  • Prepare flax eggs by combining flaxseed meal and 5 Tbsp. water in a small bowl. Let sit while you prepare the rest of recipe.
  • Heat oil in a large skillet over medium-high heat. Once hot, add the mushrooms and onion; cook 7 to 8 minutes, stirring occasionally, until the mushrooms are golden and onions soft. Stir in the tomato paste and garlic; cook 3 to 5 minutes, until the tomato paste turns brick red. (This helps unlock its full flavor potential.)

    Remove the pan from the heat, and let the mixture slightly cool.

  • Meanwhile, place tempeh and walnuts in a food processor. Pulse the mixture 8 to 10 times, or until finely chopped. Do NOT puree.
  • Add the mushroom mixture and cooked lentils to the food processor. Pulse the mixture, stopping every 3 pulses to remove the lid and stir to make sure every component is getting broken down. Continue pulsing, stopping, and stirring until the mixture comes together but is NOT pureed. (It’s important to maintain some texture to ensure the meatloaf isn’t mushy. Ideally, you’ll still have some whole lentils and chunks of vegetables at the end. Refer to the photos in the post for reference.)

    Once ideal consistency is achieved, transfer mixture to a large bowl.

  • To the same bowl, add breadcrumbs, 2 Tbsp. of the ketchup, Worcestershire sauce, Italian seasoning, salt, pepper, and flax eggs. Stir well until all ingredients are combined, and transfer to prepared loaf pan. Gently press the mixture in the pan to create an even loaf.
  • In a small bowl, combine remaining ⅓ cup ketchup, brown sugar, and vinegar; stir well to combine. Spread mixture over the meatloaf, and place in the oven. Bake uncovered for 45 to 50 minutes, or until golden brown on the edges and slightly dry to the touch.

    Remove from oven and let rest for 10 to 15 minutes in the pan. Use the parchment paper to lift the loaf out of the pan and set on a cutting board or serving platter. Slice into 6 pieces. Serve with extra ketchup or BBQ sauce, and fresh thyme, if desired.


Make-Ahead: You can prep the meatloaf mixture up to 2 days ahead. Keep it refrigerated in an airtight container or large mixing bowl covered with plastic wrap.

Store: Transfer leftover meatloaf to an airtight container and keep refrigerated for up to 3 days.

Reheat: I actually love this loaf even better the next day! Reheat individual slices in the microwave or a toaster oven. (I prefer the toaster oven, which helps maintain the loaf’s texture.) If reheating the entire loaf, either keep in the loaf pan or transfer to a small baking sheet. Reheat in a 300ºF oven until warm.


Serving: 1slice | Calories: 350kcal | Carbohydrates: 43g | Protein: 19g | Fat: 12g | Saturated Fat: 2g | Sodium: 785mg | Fiber: 10g | Sugar: 12g