In a large skillet over medium heat, melt the butter. Sauté the onions and garlic until the onions become translucent.
Add handfuls of fresh spinach to the skillet, allowing it to cook down before adding more. Repeat this process until all the spinach has been cooked down in the butter mixture. This should take approximately 10-12 minutes. Set aside.
In a large mixing bowl, thoroughly combine the cream cheese, sour cream, and mayonnaise. Add the Parmesan cheese, pepper, and artichoke hearts, stirring well to combine.
Pour in the broth and stir until fully incorporated into the mixture. Fold in the cooked spinach mixture and mozzarella cheese.
Pour the mixture into a 4-quart baking dish, spreading it evenly. Bake for 30 minutes.
Remove from the oven and serve immediately. Enjoy!
Notes
You can use frozen spinach as a convenient alternative to fresh spinach. Thaw and drain the frozen spinach fully before adding it to the dip.
Adding broth to the dip thins the consistency and adds flavor.
Prepare the dip ahead and refrigerate it, covered, until ready to bake. Increase baking time slightly if baking straight from the refrigerator.