Jamar Nutter had 18 points and Brian Laing had 10 points and 11 rebounds for the Pirates (15-9, 5-6), who lost at Villanova for the 10th straight time.
In a second half that saw 10 lead changes and neither team gaining more than a four-point lead, the Wildcats moved ahead 68-66 with 3:48 to play. Laing's two free throws tied the score 68-68 before Cunningham made one of two foul shots.
A tough driving layup by Eugene Harvey gave the Pirates a 70-69 edge with 37 seconds to go. But after a loose ball was touched by several players, Reynolds passed to Anderson for the game-winning shot.
Villanova jumped out to a 29-20 lead when Corey Fisher hit a 3-point shot with 9:55 left in the first half. Larry Davis then made a 3-point play, sparking a 14-2 run and the Pirates moved ahead 34-31.
Villanova responded with 12 unanswered points while the Pirates missed eight consecutive shots to take a 43-34 lead. Seton Hall scored the final seven points of the half to close within 43-41 at the break.