Pedro Alvarez homered in a seven-run first inning and the Pittsburgh Pirates broke an eight-game losing streak at Busch Stadium, beating the St. Louis Cardinals 10-5 Thursday night.
The Pirates moved within six games of the first-place Cardinals in the NL Central with their 12th victory in the last 18 games.
St. Louis, which won the first two games in the series, has won the last seven sets between the teams at Busch Stadium.
Alvarez and Neil Walker each three hits as the Pirates held on. The Cardinals closed their seven-run deficit to 7-5 in the seventh.
Francisco Liriano (8-6) pitched six innings and gave up three runs and six hits.
Liriano and Gregory Polanco added RBI singles that finished Lynn, and Walker capped it by singling home a run.
The Cardinals got a two-run single from Yadier Molina in the bottom half.
Walker hit an RBI double during a three-run ninth.
Pirates: OF Starling Marte did not start and is listed as day-to-day with a left hand contusion. He entered the game as a pinch-runner in the ninth and played the field in the bottom of the inning. Marte injured the hand on a swing in Tuesday's 4-3 loss. He started Wednesday's game but was taken out in the third inning.
Pirates: LHP J.A. Happ (0-1, 8.31) will take on RHP Bartolo Colon (10-11, 4.76) in the first of a three-game series against the Mets in New York on Friday. Happ is making his second start of the season for the Pirates after being acquired from Seattle on July 31.
Cardinals: LHP Jaime Garcia (4-4, 1.77) kicks off a three-game home series against Miami on Friday. He will be opposed by RHP Tom Koehler (8-9. 3.75). Garcia tossed seven shutout innings in a 3-0 win on Saturday at Milwaukee.
Link to box score: Pittsburgh (66-46) 10 at St. Louis (73-41) 5