Heat oil in a small pot over medium high heat. Add garlic, onion, bay leaf, thyme and oregano. Cook for 3 - 4 minutes until the onion is translucent. Add tomato paste and cook for 1 minute.
Add wine, increase heat to high and let it simmer rapidly until mostly evaporated (about 2 minutes).
Add tomatoes, stock, sugar, salt and pepper. Stir then simmer on medium low for 20 minutes.
Remove bay leaf then blitz with a stick blender until smooth. Simmer for 1 more minute then remove from the stove.
Stir in basil then cover to keep warm until required.
Filling
Place spinach in a colander and press out most of the liquid (don't need to thoroughly squeeze dry).
Place Spinach in bowl with remaining Filling ingredients. Mix, taste, adjust salt and pepper to taste.
Assemble & Bake
Preheat oven to 180°C/350°F (160°C fan).
Choose a baking pan which will comfortably fit about 20 cannelloni.
Spread 1 cup of Sauce on the base (stops cannelloni from sliding around).
Transfer Filling to a piping bag with a large nozzle or use a strong ziplock bag. Pipe the filling into the tubes.
Place cannelloni in baking dish. Pour over remaining Sauce, covering all the tubes.
Cover with foil, then bake for 30 minutes.
Remove foil, scatter over parmesan then mozzarella. Return to oven for 15 minutes until cheese is melted.
Serve, garnished with extra parmesan and basil if desired.
Notes
You can freeze uncooked cannelloni or refrigerate leftovers. See recipe for details.