1. In a large frying pan, heat 1 tablespoon of the oil over moderately low heat. Add half the onions and cook, stirring occasionally, until translucent, about 5 minutes. Increase the heat to moderately high and add the spinach and 1 teaspoon of the salt. Cook, stirring, until no liquid remains in the pan, about 10 minutes. Drain and press all remaining liquid from the spinach.
2. In the same pan, heat the remaining tablespoon of oil over moderately low heat. Add the remaining onion and cook, stirring occasionally, until translucent, about 5 minutes. Add the garlic and cook for 1 minute, stirring. Stir in the tomato puree, water, pepper, and the remaining 1/2 teaspoon salt. Bring to a simmer and cook, stirring occasionally, for 15 minutes. Stir in the butter and basil and cover to keep warm.
3. Meanwhile, bring a medium pot of salted water to a simmer. In a medium bowl, combine the cooked spinach, ricotta, Parmesan, eggs, lemon zest, nutmeg, cayenne, and flour. Using two tablespoons, drop walnut-size dumplings into the simmering water. Cook until firm, about 3 minutes. Remove with a slotted spoon and drain on paper towels. Serve with the tomato sauce.
Wine Recommendation: Tomatoes require a high-acid wine, while earthy spinach is best with one that has bright, uncomplicated fruit. Sounds like barbera, but no oak please.