In a large mixing bowl, combine the softened cream cheese, sour cream, mozzarella cheese, and Parmesan cheese. Mix until well combined.
Stir in the chopped spinach, minced garlic, artichoke hearts (if using), onion powder, red pepper flakes, salt, and pepper. Make sure the spinach is evenly distributed in the mixture.
Spread the spinach dip mixture into a baking dish (about 8x8 inches) and smooth the top with a spatula.
In a small bowl, combine the breadcrumbs with olive oil. Sprinkle the breadcrumb mixture evenly over the spinach dip for a crunchy topping.
Bake in the preheated oven for 25-30 minutes or until the dip is bubbling and the top is golden brown.
Once baked, remove the dip from the oven and let it sit for a few minutes before serving.
Notes
Serve hot with tortilla chips, baguette slices, or fresh vegetable sticks. Garnish with extra Parmesan and spinach leaves for presentation.