Preheat the oven to 375°F (190°C). Grease a baking dish with non-stick spray or butter and set aside.
In a large mixing bowl, combine the drained spinach, chopped artichoke hearts, half of the grated Parmesan cheese, half of the shredded mozzarella cheese, cream cheese, sour cream, minced garlic, onion powder, red pepper flakes, and season with salt and black pepper to taste. Mix until all ingredients are well combined.
Transfer the mixture into the prepared baking dish, spreading it out evenly. Top with the remaining Parmesan and mozzarella cheeses.
Bake in the preheated oven for 25-30 minutes, or until the dip is bubbly and golden brown on top.
Once baked, remove the dip from the oven and let it cool slightly before serving.
Serve the creamy spinach and artichoke dip warm with your choice of toasted bread or fresh vegetables for dipping.