To make the cheese sauce, place the non-dairy butter in a saucepan and warm gently until melted.
Add in the cornflour to create a roux and cook on a medium heat for 1 minute, stirring well to make sure it forms a smooth paste.
Remove the pan from the heat and add just a few drops of the soy milk at a time, beating to incorporate it well each time. Make sure you only add the smallest amount of milk at a time otherwise lumps will form.
As the roux goes from a thick paste to a thick sauce you can add the milk in larger quantities. Once half of the milk has been added you should be able to pour in the rest without lumps forming. Place the pan back on a medium to high heat and stir the sauce as it comes to a boil. Once it has reached boiling point reduce the heat and let it simmer for 5 minutes to allow it to thicken.
When the sauce has thickened take the pan off the heat again and add in the grated vegan cheese. Keep stirring until the cheese has melted completely (return it to the heat as needed to make sure the cheese melts completely).
Finally, add in the remaining ingredients and stir until they are distributed throughout the sauce.
Make the filling by heating the oil in a saucepan and adding the mushrooms and garlic. Cook until all the moisture has evaporated from the mushrooms.
Next, add the cooked mushrooms and remaining filling ingredients into a food processor and blitz until it comes together.
Fill the cannelloni tubes with the mushroom and tofu mix.
Pre-heat the oven to 180C / 356F / gas mark 4.
Pour ⅓rd of the cheese sauce into the bottom of an oven dish.
Lay the cannelloni on top of the cheese sauce.
Pour over the rest of the cheese sauce.
Fry the woodland mushrooms in the same saucepan you cooked the chestnut mushrooms again until any water evaporates.
Sprinkle them over the dish then place them into the oven to bake for 45 minutes or until the sauce is golden brown and the mushrooms are crispy.
Serve with a sprinkle of fresh parsley