Pulse tomatoes and their juices in a food processor until smooth.
Heat oil in a medium pan over medium heat. Saute onion and garlic until tender, about 7 minutes. Add tomatoes and cook, stirring until slightly thickened, about 20 minutes. Season with salt and pepper. Let cool.
Heat oven to 350 degrees. Pour boiling water over bulgur, cover, and let stand until soft and water is absorbed, 30 minutes.
Cook shells in a large pot of salted boiling water. Drain and let cool.
Steam spinach, covered, over medium heat, stirring occasionally, until tender. Squeeze out excess moisture, coarsely chop, and add to bulgur. Stir in ricotta. Season with salt and pepper. Stir in egg.
Coat bottom of a 9-by-13-inch casserole dish with 1 cup sauce. Spoon filling into shells and arrange in pan. Add remaining sauce, cover with foil, and bake until bubbling, about 40 minutes. Sprinkle with Parmesan before serving.
I could not for the life of me find whole wheat jumbo pasta shells (neither in the store or online). I have ditched all products unless they are whole wheat (pasta is one of them) so I won't be making this recipe. If anyone knows where to purchase whole wheat jumbo pasta shells online, please let me know.
The bulgur was an interesting healthy addition to this recipe, but I don't think I seasoned the ricotta mixture enough, as it was pretty tasteless. Next time I would use a lot more salt and pepper, and stir in some grated parmesean to give a bit more flavor.