Make sure the spinach is fully thawed, then squeeze out as much of the excess moisture as possible (I squeeze clumps of it in my fist). Once squeezed, break the spinach up so there are no large clumps. Place the squeeze dried spinach in a large bowl.
Drain and roughly chop the artichoke hearts. Place the artichoke hearts in the bowl with the spinach, along with 4 oz. (about 1 cup) of the mozzarella, the grated Parmesan, and red pepper flakes. Stir these ingredients together briefly to combine, then set them aside.
Begin preheating the oven to 375ºF. Add the butter and minced garlic to a small sauce pot. Sauté the garlic in the butter over medium-low heat for about two minutes, or just until the garlic becomes very fragrant. Cut the cream cheese into chunks and add it to the sauce pot along with the sour cream and mayonnaise. Heat and whisk these ingredients together for about five minutes, or until they melt together into a smooth sauce. Finally, stir in a couple dashes of hot sauce.
Pour the creamy garlic sauce over the spinach artichoke mixture, then stir until everything is evenly combined and coated in sauce. Transfer the mixture to a 2-3 quart casserole dish, then top with the remaining 2 oz. (1/2 cup) shredded mozzarella.
Bake the dip for about 35 minutes, or until it is bubbling around the edges and the cheese on top is turning golden brown. Serve while hot.