Lentil & Mushroom Vegetarian Meatballs in Tomato Sauce
Hearty lentil and chestnut mushroom meatballs, pan-fried then simmered in a simple tomato sauce. Perfect with spaghetti or warmed flatbreads.
These vegetarian meatballs are all about texture and flavour — earthy chestnut mushrooms and tinned lentils give a meaty bite, while fresh breadcrumbs and a single egg keep everything tender. They brown beautifully and finish in a tangy tomato sauce.
Make them when you want a comforting midweek supper that’s proper dinner-party worthy: serve with spaghetti, soft polenta or warm flatbreads. They hold and freeze well, too.
Ingredients
- 400 g tinned green lentils, drained — drained weight
- 300 g chestnut mushrooms — finely chopped
- 1 brown onion — finely chopped (about 150 g)
- 3 garlic cloves — grated
- 15 g fresh flat-leaf parsley — finely chopped
- 80 g fresh breadcrumbs
- 1 egg — large
- 30 g plain flour — for mixing and light dusting
- 40 g vegetarian hard cheese — grated
- 30 ml olive oil
- 400 ml passata
- 15 g tomato purée — about 1 tbsp
- 5 ml dried oregano
- 0 ml dried chilli flakes — optional
- 5 ml sea salt
- 5 ml black pepper — freshly ground
- 5 ml caster sugar
- 5 ml lemon zest — zest of 1 lemon
Equipment
- food processor
Instructions
Tip the drained lentils into a sieve, rinse briefly under cold water and leave to drain while you prepare the vegetables.
Heat 1 tbsp olive oil in a medium frying pan over a medium-high heat. Add the chestnut mushrooms and brown onion, season with half the sea salt and a grind of black pepper and fry, stirring, until the mushrooms have released their liquid and it has mostly evaporated — about 8 minutes.
Add the garlic and half the chopped parsley to the pan and fry for 1 minute more until fragrant. Remove from the heat and leave to cool for 3–4 minutes.
Put the cooled mushroom mixture into a food processor with the drained lentils, fresh breadcrumbs, vegetarian hard cheese, egg, plain flour, lemon zest and the remaining sea salt and black pepper. Pulse in short bursts until the mixture comes together but still has texture — you want a coarse, slightly chunky mix, not a paste.
Turn the mixture into a bowl and mix by hand once or twice to check consistency. With lightly floured hands, shape into 12 even meatballs (about 40–45 g each). If the mix feels too loose, add up to 1–2 tbsp extra breadcrumbs and mix again.
Place the meatballs on a plate or baking tray lined with kitchen paper and chill in the fridge for 30 minutes to firm up.
Heat the remaining olive oil in a large frying pan over a medium heat. Lightly dust the meatballs with plain flour and fry in batches for 8–10 minutes, turning often, until golden and crisp all over. Transfer to a plate while you make the sauce.
Wipe the pan clean, return to a medium heat and add 1 tbsp olive oil. Pour in the passata, add the tomato purée, dried oregano, caster sugar, dried chilli flakes (if using), and a generous grind of black pepper. Bring to a gentle simmer and cook, uncovered, until the sauce thickens slightly — about 12 minutes.
Return the browned meatballs to the pan, nestling them into the sauce. Simmer gently for 4–5 minutes until heated through and the sauce clings to the meatballs.
Scatter over the remaining fresh flat-leaf parsley and serve hot. These work brilliantly with spaghetti, soft polenta or warmed flatbreads.
Tips
- Cook the mushrooms until their moisture has nearly gone — this concentrates flavour and prevents a soggy mixture.
- If the mix feels too wet, add breadcrumbs a tablespoon at a time; if it’s dry, a splash of water or beaten egg will help bind.
- Chill the shaped meatballs for at least 30 minutes — this makes them much easier to brown without falling apart.
- Fry in batches and don’t move them too often in the pan; steady turning gives an even golden crust.
- Make ahead: freeze raw shaped meatballs on a tray for 1 hour, then bag. Cook from frozen and add a few minutes to the simmer time.
Substitutions
tinned green lentils, drained → 400 g cooked dried green or brown lentils (cooked, drained and cooled)
Stays closefresh breadcrumbs → 80 g gluten-free breadcrumbs
Stays closeegg → 1 tbsp flaxseed mixed with 3 tbsp water (leave 5 minutes to gel)
Noticeably differentvegetarian hard cheese → omit for a dairy-free version or replace with 40 g plant-based grated cheese
Noticeably different
Nutrition
Per serving · estimated
- 326
- Calories
- 16 g
- Protein
- 34 g
- Carbs
- 14 g
- Fat
- 6 g
- Fibre
- 5 g
- Sugar
- 480 mg
- Sodium
FAQ
Can I make these vegan?
Use a flax or chia ‘egg’ (1 tbsp seed + 3 tbsp water) and a plant-based grated cheese or omit the cheese. Texture will be slightly different but still tasty.
How do I store or freeze them?
Cooked meatballs keep in the fridge for 3–4 days in an airtight container. To freeze, either freeze raw shaped balls on a tray, then bag (up to 3 months), or freeze cooked meatballs in sauce.
Can I bake instead of frying?
Yes — place dusted meatballs on a lightly oiled baking tray and bake at 200°C fan/220°C conventional for 18–22 minutes, turning once, until golden. Finish in sauce for 5 minutes.
Why did my meatballs fall apart?
Most likely the mix was too wet or they weren’t chilled. Add a little more breadcrumbs, check seasoning and chill for at least 30 minutes before cooking.
Community Photos
No photos yet
Be the first to share your creation!
Rate this recipe
More like this

Smoked salmon, lemon zest and petit pois risotto

Wild garlic pesto pasta with peas, lemon and toasted walnuts
