Preheat oven to 350 degrees. Coat a 9x13 baking dish with cooking spray.
In a large pot, bring salted water to a boil for pasta. Follow box directions for cooking pasta al dente. (See notes for gluten free, keto, and low carb substitutions.)
While the water heats and the pasta cooks, add the sausage to a hot skillet and begin to crumble it up as it cooks.
Reduce to medium heat and add the onions and mushrooms, and any additonal desired vegetables that need to cook down, such as zucchini slices or green peppers (but not spinach yet). Cook them down to remove juices, browning slightly.
(Optional) I also added some extra slices of pepperoni at this stage so some would be in the pasta mix and not just on top.
When the veggies and sausage are almost ready, add 1 teaspoon crushed garlic and the fresh ripped spinach to the pan. Cook till spinach is completely wilted.
When the pasta is cooked, drain and return to the large pot.
Add the petite diced tomatoes and tomato sauce to the large pot with the pasta.
Add 1 Tablespoon each garlic salt and Italian seasoning to the pasta and tomato mixture. Stir to combine.
When the veggies and sausage are cooked, add them to the large pot also and stir to combine.
Pour in about 1/2 -3/4 cup shredded mozzarella (or other favorite pizza cheese), and 1/2 of the sliced olives into the pasta mix.
Toss to combine, then pour into a 9 x 13 baking dish. Make sure that all the noodles are covered in sauce to prevent them from getting crispy while baking.
Cover with 3-4 ounces pepperoni, and sprinkle remaining cheese and olives on top.
Bake approximately 20-25 minutes till cheese is bubbling and the pepperoni is slightly crispy! (See notes for make ahead refrigerator casserole instructions and freezer meal casserole baking instructions.)