Chef John's Meatless Meatballs


I made this recipe for vegetarian meatballs to celebrate Earth Day. Thanks to a thorough browning, mushrooms provide more than enough savoriness. The garlic, cheese, and parsley do the rest. What really blew me away was how close the texture was to actual meatballs. They are officially approved for use on spaghetti!

Prep Time:
30 mins
Cook Time:
1 hrs 15 mins
Additional Time:
4 hrs
Total Time:
5 hrs 45 mins
16 small meatballs


  • 1 tablespoon olive oil

  • 1 pound fresh white mushrooms, finely chopped

  • 1 pinch salt

  • 1 tablespoon butter

  • ½ cup finely chopped onion

  • 4 cloves garlic, minced

  • ½ cup quick-cooking oats

  • 1 ounce very finely shredded Parmigiano-Reggiano cheese

  • ½ cup bread crumbs

  • ¼ cup chopped flat-leaf (Italian) parsley, packed

  • 2 large eggs, divided

  • 1 teaspoon salt

  • freshly ground black pepper to taste

  • 1 pinch cayenne pepper, or to taste

  • 1 pinch dried oregano

  • 3 cups pasta sauce

  • 1 tablespoon very finely shredded Parmigiano-Reggiano cheese, or to taste

  • 1 tablespoon chopped flat-leaf (Italian) parsley, or to taste


  1. Gather and prep all ingredients.

    a top down view of ingredients gathered to make meatless meatballs.

    Dotdash Meredith Food Studios

    a top down view of mushrooms, onions, garlic, and fresh parsley chopped on a wooden cutting board.

    Dotdash Meredith Food Studios

  2. Heat olive oil in a skillet over medium-high heat. Add mushrooms to the hot oil, sprinkle with salt, and cook and stir until liquid from mushrooms has evaporated. Stir butter into mushrooms, reduce heat to medium, and cook and stir mushrooms until golden brown, about 5 minutes.

  3. Stir onion into mushrooms and cook, stirring often, until onion is translucent, 5 minutes. Remove skillet from heat and stir garlic into mushroom mixture until fragrant, about 1 minute. Transfer mixture to a mixing bowl.

    mushrooms, onions, garlic, and parsley cooked down and mashed together in a small glass mixing bowl.

    Dotdash Meredith Food Studios

  4. Mix oats into mushroom mixture until thoroughly combined. Gently stir 1 ounce Parmigiano-Reggiano cheese into the mixture. Add bread crumbs, 1/4 cup parsley, and 1 egg; season with salt, black pepper, cayenne pepper, and oregano. Mix together with a fork until crumbly. Stir in remaining 1 egg. The mixture should hold together when pressed.

  5. Cover the bowl with plastic wrap and refrigerate at least 4 hours. For best flavor and texture, refrigerate overnight.

  6. Preheat the oven to 450 degrees F (230 degrees C). Line a baking sheet with a silicone baking mat or parchment paper.

  7. Form mixture into small meatballs using a 2-tablespoon scoop. Roll meatballs lightly between your hands until smooth, if desired; arrange meatballs on the prepared baking sheet.

    a top down view of meatless meatballs being scooped onto a parchment lined baking sheet.

    Dotdash Meredith Food Studios

  8. Bake in the preheated oven until meatballs are lightly golden brown, 12 to 15 minutes.

  9. Bring pasta sauce to a boil in a large saucepan; reduce heat to low. Gently stir meatballs into sauce until coated. Simmer meatballs in sauce until cooked through, 45 minutes to 1 hour. Transfer to a serving bowl and garnish with 1 tablespoon Parmigiano-Reggiano cheese and 1 tablespoon parsley.

    a top down view of meatless meatballs simmering in a red tomato sauce.

    Dotdash Meredith Food Studios

    a high angle view of a serving bowl of meatless meatballs coated in a red sauce and topped with fresh parsley and parmesan.

    Dotdash Meredith Food Studios

Cook's Note:

It looks like a ton of Parmesan cheese in the video, but it was only 1 ounce. Because I used a Microplane to grate it, it created a huge-looking pile of cheese. It would be about 1/2 cup if you measure it, but use weight for this ingredient.

Nutrition Facts (per serving)

421 Calories
18g Fat
50g Carbs
17g Protein
Nutrition Facts
Servings Per Recipe 4
Calories 421
% Daily Value *
Total Fat 18g 23%
Saturated Fat 6g 31%
Cholesterol 110mg 37%
Sodium 1695mg 74%
Total Carbohydrate 50g 18%
Dietary Fiber 8g 30%
Total Sugars 21g
Protein 17g
Vitamin C 15mg 75%
Calcium 215mg 17%
Iron 4mg 23%
Potassium 1135mg 24%

* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

** Nutrient information is not available for all ingredients. Amount is based on available nutrient data.

(-) Information is not currently available for this nutrient. If you are following a medically restrictive diet, please consult your doctor or registered dietitian before preparing this recipe for personal consumption.

You’ll Also Love