Preheat your oven to 375°F (190°C). Lightly grease a baking dish or line it with parchment for easy cleanup.
Carefully cut a pocket into each chicken breast without cutting all the way through. If needed, place the breast between two sheets of plastic wrap and gently pound to even thickness for even cooking.
Season the inside and outside of the chicken with salt, pepper, and half of the Italian seasoning. This helps the flavors penetrate the meat from the inside and outside.
In a small bowl, mix minced garlic with olive oil. Brush the inside of each pocket with a little of this garlic oil to infuse flavor.
Spoon a layer of marinara into each pocket, then add a handful of shredded mozzarella on top of the sauce.
Add pepperoni (or sausage), spinach (or mushrooms), and a sprinkle of Parmesan into the pocket. You can tailor fillings to your taste—more cheese, extra vegetables, or a drizzle of extra sauce.
Seal the pockets by tucking the edges of the chicken around the filling. If needed, secure with a couple of toothpicks to prevent leakage during baking.
Transfer the stuffed breasts to the prepared baking dish. Brush the tops with a bit more garlic oil and sprinkle with the remaining Italian seasoning and a pinch more salt and pepper.
Pour remaining marinara around the chicken in the dish (not over the tops) to keep the chicken moist while baking.
Bake uncovered for 25–30 minutes, then sprinkle with the remaining mozzarella and Parmesan. Return to the oven for an additional 5–8 minutes, or until the cheese is melted and bubbly and the chicken reaches an internal temperature of 165°F (74°C).
If you like a crisp top, broil for 1–2 minutes at the end, watching closely to prevent burning.
Remove from oven and let the chicken rest for 5 minutes before slicing. Garnish with fresh basil if desired, and serve with extra sauce from the dish.