Make the Sauce: In a large skillet or saucepan, heat olive oil over medium heat. Incorporate the diced onion and sauté until it becomes tender, approximately 5 minutes. Add minced garlic and grated carrot, cooking until fragrant, about 2 minutes. Pour in the crushed tomatoes, Italian seasoning, salt, and pepper. Allow to simmer for 15 to 20 minutes, stirring occasionally, until the sauce begins to thicken.
Prepare the Filling: In a large bowl, combine ricotta, Parmesan, 2 cups of mozzarella, beaten eggs, thawed spinach, Italian seasoning, nutmeg, salt, and pepper. Mix until well-blended.
Assemble the Cannelloni: Preheat the oven to 375°F (190°C). Pour a thin layer of sauce into the bottom of a 9x13-inch baking dish. Lay a lasagna noodle on a flat surface, spoon a generous amount of the filling along its length, and carefully roll it up. Place the filled noodle seam-side down in the baking dish. Repeat with remaining noodles and filling.
Add Sauce and Topping: Pour the remaining tomato sauce evenly over the cannelloni. Sprinkle 2 cups of shredded mozzarella on top.
Bake: Cover the baking dish with foil and bake for 30 minutes. Take off the foil and continue baking for another 15 to 20 minutes, or until the cheese is melted and golden brown.
Serve: Let the cannelloni rest for a few minutes before serving. Garnish with fresh basil or parsley if desired.