Preheat the oven to 400 degrees F.
In a very large saucepan, gently fry the garlic and onion in the oil for about 5–10 minutes until translucent. Add the tomato purée and refill the cans with water about three-quarters full, giving them a shake to mop up any tomato. This will give you about 4 1/2 cups water. Add it to the pan. Bring the sauce to the boil and then partially cover and simmer for about 25 minutes.
Soak the fresh spinach in the sink to get rid of any mud, drain, and then cook in just the water that’s still clinging to the leaves until it has wilted down and cooked through, then drain well and chop roughly (you can just go at it with scissors while it’s sitting in the colander). If you’re using frozen chopped spinach, make sure – once it’s thawed – that you’ve pressed out every last bit or water; you can.
Empty the ricotta into a bowl, add the eggs and then grate in about 3 ounces (6 tablespoons) of the Parmesan. Add the spinach when it is cool, squeezing out (again) any excess water with your hands, then stir everything together and season it well with the nutmeg and salt and pepper.
Cook the pasta shells in a large pan of water, for about 5 minutes once they have come back to the boil, then drain and leave them to get cool enough for you to stuff them without burning your fingers. Tip the shells into a dish, of approximately 15 x 13 inches, so that they lie in a single layer, then fill each shell with a heaped teaspoon of the spinach and ricotta filling. Ladle the tomato sauce over the pasta, and grate over the remaining Parmesan.
Bake for about 20 – 30 minutes, by which time the pasta will be tender and the light tomato sauce hot and bubbling. Remove from the oven and let stand for a while to cool down slightly before serving.