Build the Tomato Base: In a medium saucepan, warm the olive oil over medium heat. Add the chopped onion, garlic, bay leaf, thyme, and oregano. Cook gently, stirring occasionally, until the onions soften and become fragrant—about 3 to 4 minutes. Stir in the tomato paste and cook for an additional minute to deepen the flavor.
Deglaze and Simmer: Pour in the white wine and increase the heat to high. Let it bubble briskly until the liquid reduces and almost disappears—roughly 2 minutes. Add the crushed tomatoes, broth, salt, sugar, and black pepper. Stir everything together and reduce the heat to a low simmer. Cook uncovered for 20 minutes to concentrate the flavors.
Blend the Sauce: Once simmered, remove the bay leaf and use an immersion blender to blend the sauce until completely smooth (or transfer to a standard blender in batches). Let it simmer for 1 more minute after blending, then stir in the fresh basil. Cover and set aside.
Prepare the Filling: While the sauce simmers, press the thawed spinach in a colander or clean kitchen towel to remove excess water. In a large mixing bowl, combine the drained spinach, ricotta, parmesan, shredded cheese, egg, garlic, nutmeg (if using), salt, and pepper. Mix well until smooth and uniform. Taste and adjust seasoning if needed.
Preheat and Prep the Baking Dish: Preheat your oven to 350°F (180°C), or 320°F (160°C) if using a fan-assisted oven. Lightly grease a 9x13-inch (or similar) baking dish and spread 1 cup of the tomato sauce on the bottom to prevent sticking.
Fill and Arrange the Tubes: Spoon the ricotta mixture into a piping bag or large zip-top bag with the corner snipped off. Pipe the filling into each cannelloni tube until just full. Carefully arrange the filled tubes in the baking dish in a single layer.
Add Sauce and Bake Covered: Pour the remaining tomato sauce evenly over the cannelloni, ensuring all tubes are completely covered. Cover the dish tightly with foil and bake for 30 minutes.
Add Cheese and Finish Baking: Remove the foil and sprinkle the top with the remaining mozzarella and parmesan. Return to the oven uncovered for another 15 minutes, or until the cheese is golden and bubbling.
Serve and Garnish: Let the cannelloni rest for a few minutes before serving. Top with additional basil leaves and freshly grated parmesan if desired.