For the sauce: Heat the oil and sauté the onion and garlic for 5 minutes.
Mix in the rest of the ingredients, mashing the tomatoes with a fork. Bring to a boil and reduce the heat.
Simmer the mixture, covered, and stir occasionally for 1 hour.
For the filling: Caramelize the onion in a bit of olive oil, then add the meat and sauté until browned.
Add the spinach, salt and pepper and cook until the spinach wilts. Remove from the heat and chill for a few hours.
In a large bowl, blend the other ingredients with a wooden spoon. Add in the cooled meat mixture.
For the shells: Combine the eggs, flour and salt. Add the water gradually and “whisk the hell out of it.” Let stand at least half an hour.
Into a hot pan coated with cooking spray, pour enough batter to make an 8-inch-wide shell.
Cook and flip “like you’re making flour and egg omelets.” Repeat to make 8 shells total.
To assemble: Heat the oven to 350°. Spread ¼ cup of the filling down the center of each shell and roll.
Spoon 1½ cups of tomato sauce each into two 12-by-8-inch baking dishes.
Place the rolled shells, seam-side down, in a single layer into each baking dish.
Top with more sauce and sprinkle with the cheese. Bake uncovered for ½ hour or until bubbly.