Bring a large pot of salted water to a boil. Once boiling, add the pasta and cook according to package directions.
Drain the pasta immediately after cooking. Rinse under cold running water to prevent sticking.
While you wait for the water to boil and pasta to cook, prepare the dressing. In a measuring cup or bowl, whisk together the olive oil, red wine vinegar, garlic, basil, oregano, thyme, red pepper flakes, salt, and pepper. Add the diced red onion to the dressing so that it can marinate while you prepare the rest of the ingredients.
In a large mixing bowl, combine the cooled and rinsed pasta, artichoke hearts, spinach, navy beans, parsley, pine nuts, mozzarella, and parmesan.
Whisk the dressing again before pouring it over the salad in the mixing bowl. Stir well until everything is coated. It may seem like a lot of dressing at first, but this is intentional so that the pasta can absorb some of it without making the salad too dry.
Store the salad in an airtight container in the fridge for at least 60 minutes before serving. You can also eat it right away, but I prefer it cold. Enjoy!
Leave a rating or review by tapping the stars on this recipe card (above) or in the comments section (at the end of the post)!
Notes
Prep ahead tips: You can make this recipe a few hours in advance, seal the bowl with plastic wrap or transfer the salad to an airtight container, and chill it in the refrigerator. However, don't make it more than 24 hours in advance. This recipe tastes best when the ingredients have enough time to marinate in the dressing without the pasta absorbing too much of the dressing and making it dry. Stir well before serving.
Storage: Keep leftovers in an airtight container in the refrigerator for up to 3 days.
If you need the recipe to be strictly vegetarian, use a shredded parmesan cheese labeled as vegetarian.