Preheat oven to 375 degrees. Bring a large pot of water to a boil; add salt. Boil spinach until bright green, about 30 seconds. Remove with a slotted spoon; drain. Add shells to boiling water; cook until slightly underdone. Drain. Toss with 1 teaspoon oil. Set aside.
Heat 2 tablespoons oil and the garlic in a large skillet over medium-low heat until garlic is fragrant, about 30 seconds. Add tomatoes; cook, stirring occasionally, until sauce has thickened slightly, 20 to 25 minutes.
Squeeze spinach to release excess water; coarsely chop. Stir together with cheeses and egg. Season with salt and pepper.
Stuff each shell with about 2 tablespoons cheese mixture. Spread 1 1/2 cups tomato sauce in a 9-by-13 inch baking dish. Arrange shells in dish; cover with more sauce, reserving some for serving. Bake 25 minutes. Serve with remaining sauce.