In a skillet, heat olive oil over medium heat. Add minced garlic and sauté for 1 minute until fragrant.
Add the chopped spinach to the skillet and cook until wilted, about 2-3 minutes. Remove from heat and let cool slightly.
In a mixing bowl, combine softened cream cheese, mozzarella cheese, grated Parmesan, sautéed spinach, Italian seasoning, salt, pepper, and red pepper flakes if using. Mix until well combined.
Carefully slice a pocket into each chicken breast, ensuring not to cut all the way through. Season the outside of the chicken with salt and pepper.
Stuff each chicken breast with the spinach cheese mixture, using toothpicks to secure the opening if needed.
Place stuffed chicken breasts in a greased baking dish and sprinkle any remaining cheese on top.
Bake in the preheated oven for 25-30 minutes, or until the chicken is cooked through and reaches an internal temperature of 165°F (75°C).
Remove from the oven and let rest for 5 minutes. Garnish with fresh basil before serving.