Updated

Mariano Rivera pitched a perfect eighth inning in his final All-Star appearance, Jose Bautista, J.J. Hardy and Jason Kipnis drove in runs to back a night of pulsating pitching, and the American League beat the National League 3-0 Tuesday night to stop a three-year losing streak.

Ten pitchers combined a three-hitter and the 43-year-old Rivera, who is retiring at the end of the season, remained unscored on in nine All-Star innings. The only older pitcher to appear in an All-Star game was 47-year-old Satchel Paige.

Rivera was left alone on the field for a 90-second standing ovation, waving his cap to the crowd and touching it to his heart as the other All-Stars watched from the dugout railing and applauded.

Bautista had a sacrifice fly in the fourth off Patrick Corbin that stopped the AL's 17-inning scoreless streak. Hardy added a run-scoring grounder in the fifth against Cliff Lee and Kipnis hit an RBI double in the eighth off Craig Kimbrell.