Preheat the oven to 350°F (175°C). Lightly grease a 9×13-inch baking dish and set aside.
Bring a large pot of generously salted water to a boil. Add the penne pasta and cook 2 minutes less than the package directions indicate. Drain and return the pasta to the pot.
While the pasta cooks, heat a large skillet over medium heat. Add the Italian sausage and cook until fully browned, breaking it into small pieces. Add the minced garlic and cook for 1 additional minute, stirring frequently.
Reserve half of the pepperoni slices for topping. Chop the remaining pepperoni into small pieces.
To the cooked pasta, add the browned sausage, marinara sauce, chopped pepperoni, Italian seasoning, and 1 cup of the mozzarella cheese. Stir until evenly combined.
Transfer the mixture to the prepared baking dish. Sprinkle with the remaining mozzarella cheese, arrange the reserved pepperoni evenly on top, and finish with grated Parmesan cheese.
Bake uncovered for 20–25 minutes, or until the cheese is fully melted and the pepperoni is lightly crisped.
Remove from the oven and allow the casserole to rest for 5 minutes before serving.