Preheat oven to 375° F. Grease a 9x13-inch baking dish with cooking spray or olive oil and set aside.
Set a large heavy-bottomed pot or skillet over medium-high heat. Once hot, drizzle in 1 tablespoon olive oil and add the beef. Use a wooden spoon to break up the meat and cook until no longer pink, about 8 to 10 minutes. Drain off any accumulated grease and then season with oregano, fennel seeds, red pepper flakes, and a large pinch of salt and pepper. Transfer the meat mixture to a plate and set aside.
Drizzle the remaining oil into the same skillet and add in the red onion. Cook until translucent, about a minute. Add the garlic and cook for another 30 seconds or so. Stir in the bell pepper and mushrooms and cook until the mushrooms have released all of their moisture and they've begun to brown, about 5 minutes. Add the meat back to the pot, along with the olives and pepperoni. At this point, you can add a pinch more salt and pepper if needed. Stir in the sauce and basil, reduce heat to low and simmer, uncovered for 5 minutes. Transfer the mixture into the prepared baking dish. Cover the top with mozzarella and set aside.
On a lightly floured work surface, roll out the pizza dough to a rectangle, big enough to cover the dish. Carefully lay the dough over the topping, folding in the edges if needed. Brush the top with egg wash and make a few slits in the center to allow steam to escape. Sprinkle with parmesan and bake until golden brown on top, about 18 to 20 minutes. Remove from the oven and let cool for 5 minutes before cutting and serving. Enjoy!