In a mixing bowl, combine the softened cream cheese, sour cream, shredded mozzarella, and grated Parmesan cheese. Mix until well combined.
Add the chopped spinach, drained artichoke hearts, minced garlic, onion powder, salt, black pepper, and optional red pepper flakes to the cheese mixture. Mix until all ingredients are evenly distributed.
Transfer the mixture to the crockpot, spreading it out evenly.
Cover the crockpot with the lid and cook on low for 2 hours, or until heated through and the cheeses are melted and bubbly.
Stir the dip occasionally to ensure even cooking and prevent sticking.
Once done, serve warm with tortilla chips, pita bread, or fresh vegetables.
For a lighter version, you can substitute Greek yogurt for sour cream.
Feel free to experiment with additional ingredients like chopped green onions, sun-dried tomatoes, or different types of cheese for added flavor.
This dip can be made ahead of time and stored in the refrigerator before cooking. Just allow it to come to room temperature before placing it in the crockpot.