2 Tbsp olive oil
2 onions, chopped
2 pounds spinach, stems removed, leaves washed well and chopped
1 1/2 tsp salt
1 clove garlic, minced
1 2/3 cups tomato puree (one 15-ounce can)
1/2 cup water
1/4 tsp freshly ground black pepper
1 Tbsp butter
1 Tbsp chopped fresh basil or parsley
3/4 cup ricotta
1/4 cup grated Parmesan
2 eggs, beaten to mix
Grated zest of 1 lemon
1/8 tsp grated nutmeg
1/16 tsp cayenne
3 Tbsp flour
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.
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/parsley and cover to keep warm.
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.