Boil pasta shells until just shy of al dente - they should have a bit of a bite left to them.
For the Sauce
Heat oil in a large skillet until just shimmering.
Add the garlic and red pepper flakes and cook until fragrant, about 1 minute.
Add the crushed tomatoes, sugar, and lemon zest.
Simmer 7 minutes.
Stir in fresh herbs.
For the Filling
While the pasta cooks and the sauce simmers, combine all the filling ingredients except the spinach and mix well.
Gently fold in the spinach until evenly dispersed. Extreme mixing will turn the ricotta green.
In a 9x13 casserole dish, spread enough sauce to coat the bottom evenly.
Put about 1 -1 1/2 tablespoons of the ricotta mixture in each shell. Some of the shells will break and won't be useable, usually I end up with a few leftover.
Place stuffed shells in the pan in a single layer.
Spoon remaining sauce evenly over the top.
Sprinkle with 1 cup mozzarella cheese and 1/4 cup parmesan.
Cover with foil and bake 25-30 minutes, until bubbly.
Remove foil and bake an additional 10 minutes, until cheese is fully melted and bubbly.
Pack the spinach in the measuring cup, you can use fresh or frozenIf you would like to freeze part of this recipe or are doubling it for freezing, just divide up the shells into portions appropriate for you or your family. Disposable pie plates or bread pans work great for this. Assemble as instructed, except the final topping with mozzarella and parmesan. I find those dry out in the freezer and are better when added fresh right before baking. Thaw before baking, or lower the oven temperature by 25 degrees and place frozen in a cold oven. I check halfway through cooking and sprinkle a couple tablespoons of water over the top if things are looking dry. Keep covered the whole time if baking directly from the freezer. If you'd like to make this dish more hearty, adding cooked meat to the sauce or the filling is a great way to do that.