PITTSBURGH -- The Pittsburgh Pirates used some hustle to beat the St. Louis Cardinals for the fourth time in three days Wednesday night.
Neil Walker tagged up from first base on a flyout to get in scoring position in the eighth inning, and Russell Martin singled him in to lift the Pirates to a 5-4 victory at PNC Park.
The Pirates have won the first four games of the five-game series between the top two teams in the National League and have taken a 2 1/2-game lead over the Cardinals in the NL Central. Pittsburgh won for the ninth time in its past 12 games.
St. Louis, which held a 1 1/2-game lead in the division when the series began Monday, lost for the seventh straight time, its longest skid of the season.
With the scored tied 4-4, Walker led off the eighth with a single off Trevor Rosenthal (1-2). After Andrew McCutchen flied out, Walker took off for second when Pedro Alvarez flied out to the warning track in left field, and he beat Matt Holliday's throw standing up.
Walker then scored on Martin's hit to center.
Walker, the popular Pittsburgh native, received a standing ovation when he walked out to his second base position for the start of the ninth inning.
Walker also homered and was one of four Pirates with two hits along with Martin, Garrett Jones and Clint Barmes.
Holliday had three hits and two RBIs for the Cardinals, while Jon Jay, Carlos Beltran, Daniel Descalso and starting pitcher Adam Wainwright had two hits apiece.
Tony Watson (3-1) pitched two scoreless innings for the win, and Mark Melancon worked a 1-2-3 ninth for his fifth save.
Wainwright pitched seven innings for the Cardinals but did not factor in the decision. He gave up four runs and eight hits while striking out six and walking one.
Pirates starter Jeff Locke lasted only four innings in his shortest start of the season. He gave up four runs and 10 hits with one walk and six strikeouts, ending a streak of eight straight starts in which he allowed three earned runs or fewer.
After being held scoreless in the last 17 innings of Tuesday night's doubleheader, which Pittsburgh swept, St. Louis scored twice in the first inning. Consecutive one-out singles by Beltran, Allen Craig and Holliday produced the first run, and Descalso hit an RBI single in the second.
Craig broke a 0-for-22 skid, and Descalso, starting at second base for slumping Matt Carpenter, had been hitless in his previous 16 at-bats. Carpenter was in a 2-for-24 funk.
Alvarez hit an RBI single for the Pirates in the bottom of the first.
After Tony Cruz drove in a run for the Cardinals in the top of the third, Neal Walker hit his seventh home run of the season in the bottom of the inning to draw Pittsburgh within 3-2.
Both teams scored one run each again in the fourth inning. Beltran doubled and scored on Holliday's single for the Cardinals and Barmes hit an RBI double for the Pirates.
Pittsburgh pulled into a 4-4 tie in the fifth on McCutchen's sacrifice fly.
NOTES: St. Louis placed C Yadier Molina (sprained right knee) and OF Shane Robinson (strained right shoulder) on the 15-day disabled list before the game, recalled 1B/OF Brock Peterson and OF Adron Chambers from Memphis and optioned LHP Tyler Lyons to the Redbirds. Molina underwent an MRI exam Wednesday that revealed no structural damage and is optimistic he can return once his 15 days are up. Lyons was recalled from Memphis to start the second game of Tuesday night's doubleheader. ... Pittsburgh C Michael McKenry underwent surgery on Tuesday to repair a torn lateral meniscus tear in his left knee, the Pirates announced Wednesday. Rookie C Tony Sanchez will serve as the backup to C Russell Martin. ... The Pirates optioned RHP Brandon Cumpton back to Triple-A Indianapolis after he notched his first major league win in Tuesday night's second game and released INF/OF Brandon Inge, who was designated for assignment last week. ... The five-game series concludes Thursday night when Cardinals RHP Joe Kelly (1-3, 3.44) faces Pittsburgh RHP Charlie Morton (3-2, 3.59).