1. Place a rack on bottom shelf of oven; preheat to 450ºF. Line a large baking sheet with parchment.
2. Warm oil in a large skillet over medium heat. Add onion; sauté until softened, about 10 minutes. Add garlic and red pepper, if desired. Sauté for 30 seconds. Reduce heat to low. Add broccoli. Sauté for 2 minutes. Cover and cook until broccoli is crisp-tender, about 3 minutes. Remove skillet from heat and stir in spinach.
3. In a large bowl, combine ricotta, mozzarella and Parmesan; season with salt and pepper. Stir in broccoli mixture. Working with 1 portion at a time, roll out dough on a lightly floured counter into 8-inch rounds. Divide filling among dough circles (about 3/4 cup each). Fold dough over to enclose filling; press to seal edges. Beginning in 1 corner, stretch sealed edge outward, pinching and rolling dough up and over to form a decorative edge.
4. Transfer calzones to baking sheet. Whisk egg with 1 tsp. water. Brush top of each calzone with egg wash. Cut 3 small vents in each calzone. Bake until golden, 13 to 15 minutes. Serve with tomato sauce if desired.