Gather ingredients and preheat oven to 375℉. If your lentils aren't already cooked, see the recipe card notes below for instructions on how to cook lentils.
In a dry sauté pan, toast fennel seeds and walnut pieces until fragrant over medium-low heat, stirring often to avoid burning. Do this for around 4 minutes. You’ll be able to smell the fennel and a warm smell from the walnuts lightly toasting. Remove from the pan and set aside.
Meanwhile, thinly slice half an onion (or dice it if that’s easier for you) and add to the same pan with 1 Tbsp sun-dried oil (or olive oil). Turn the heat up to medium. Stir the onions occasionally; we want them to caramelize, not burn!
Make the “flax egg” by combining the ground flax and water. Stir well and let it sit while you continue with the recipe.
Clean and quarter mushrooms, chop garlic, and sun-dried tomatoes.
Add mushrooms, garlic, salt, pepper, and chili flakes to the sauté pan.
Stir and cook until the mushroom onion mixture is browned and all of the mushrooms have softened, about 5 minutes. Once cooked, remove from the heat and allow them to cool.
To a food processor, add the cooked lentils, toasted walnuts and fennel seeds, flax egg, soy sauce, Italian seasoning, sun-dried tomatoes, mushroom and onion mixture, and half the breadcrumbs.
Pulse until a sticky, thick mixture forms. It’s ok if you still see some whole lentils.
Scoop 1 Tbsp of the lentil meatball mixture out at a time and lightly roll it in the remaining breadcrumbs.
Arrange the veggie meatballs on lined cookie sheets and give them a spray with cooking oil to help toast up the breadcrumbs nicely! Bake for 20-25 minutes, gently shaking the baking sheet about halfway through. Garnish with fresh parsley and serve!
*Walnuts add a nice texture difference and earthy flavor. You can also swap them with any other nut or seed, like pecans, almonds, or shelled sunflower seeds. Or for a nut-free version, replace them completely with ¼ cup more cooked lentils!**Oil packed sun-dried tomatoes are the easiest option as they're ready to use. If you're using dehydrated sun-dried tomatoes, rehydrate them in oil or hot water first. For this recipe, I recommend rehydrating them in olive oil (this will take a while, so start the process in the morning or the day before you plan to make your meatballs). You can use the sun-dried tomato-infused olive oil in this recipe, giving them extra flavor!***Mushrooms make up a big part of the 'meaty' flavor and texture. I use white button mushrooms for the price, but you can use other mushrooms like cremini or portobello. There isn't an equal substitute for the mushrooms in this particular recipe. ****For lentil meatballs, slightly firmer brown/green lentils are ideal—they hold together better when mixed with breadcrumbs and other ingredients. Canned lentils can work in a pinch, but drain them very well first.Flax Seed Egg: The flax 'egg' is made by mixing ground flaxseed with water until it thickens slightly, which helps bind the vegan meatballs together. If you're not keeping this recipe vegan, you can replace the flax egg with 2 large eggs.How to Cook Lentils (makes 5-6 cups once cooked): Rinse 2 cups dry brown lentils and pick out any debris. Add them to a pot with 6-8 cups of hot water and optional seasonings like a pinch of salt, bay leaf, or aromatics. Bring to a boil, then reduce the heat and simmer gently, partially covered, for 15-20 minutes or until tender but not mushy. Drain any excess liquid. This makes about 5-6 cups of cooked lentils, and you can use them in any lentil recipe you like! If you're avoiding leftovers, use ~¾ cup dry lentils and 2 cups of hot water to make about 2 cups of cooked lentils.