Bring a pot of salted water to a boil over the stove and add the pasta. Cook until al dente, ~8 minutes, or according to package instructions. Drain in a colander and rinse immediately with cold water.
While the pasta is cooking, prepare the rest of the ingredients, and whisk together the olive oil, red wine vinegar, garlic, pepper, and salt.
Combine the cooked pasta, drained and chopped artichoke hearts, chopped spinach, parsley, mozzarella, parmesan, and the dressing in a large bowl. Mix until well combined.
Store the salad in an airtight container in the fridge for at least 60 minutes before serving (you can keep it in there for a longer time too). You can also eat it right away, but I prefer it cold. Enjoy!
This recipes makes a lot of pasta salad, so it's best for a large crowd or party, but it also stores well and can be enjoyed for several days. If you want to make a smaller amount, you can cut the recipe in half.
For more flavor, use marinated artichoke hearts instead of those canned in water.