ST. LOUIS — Russell Martin hit a two-run home run to highlight a four-run seventh inning and the Pittsburgh Pirates rallied to beat the St. Louis Cardinals 5-3 on Saturday.

The comeback gave A.J. Burnett (2-2) his second victory over St. Louis in 10 days. He gave up two runs and five hits in six innings. His six strikeouts expanded his team record for month of April to a league-leading 48. Burnett threw seven shutout innings in a 5-0 win over St. Louis on April 17.

St. Louis starter Jake Westbrook left after six innings with a 2-0 lead in search of his 100th career victory. He struck out six and scattered six hits to lower his ERA to 0.98 in four starts.

The Pirates had three consecutive hits against reliever Joe Kelly (0-1) to lead off the seventh and were aided by a hit by pitch and a walk to score four runs. Martin’s fifth homer of the season drove in Pedro Alvarez to tie the score at 2, Andrew McCutchen walked with the bases loaded and Garrett Jones grounded in Starling Marte.

They added their fifth run on a double by Martin and a sacrifice fly from Gaby Sanchez. Martin has a hit in 10 of his past 11 games.

Pittsburgh had scored just one run in the first 15 innings of the series before their four-run outburst. The beleaguered St. Louis Cardinals bullpen had its ERA balloon to 5.62. The Cardinals have given up 39 runs after the sixth inning this season.

Jason Grilli surrendered an RBI double from Carlos Beltran in the ninth but earned his 10th save in 10 tries.

St. Louis jumped to a 2-0 lead with single runs in the first and sixth. Pete Kozma’s two-out single up the middle scored Jon Jay. Matt Carpenter and Beltran singled to start the first. Carpenter scored on Matt Holliday’s groundout.

Westbrook’s performance also lowered the Cardinals starters ERA to a league-best 2.08.

He allowed a runner to reach second base once, though the Pirates went in order just one time.

Westbrook has struggled throughout his career against the Pirates, entering with a 1-7 record and a 5.28 ERA. It could have been worse. He gave up four runs and six hits in two innings April 16 before rained forced the game’s postponement.

Nationals 6, Reds 3: In Washington, Bryce Harper homered and singled, Dan Haren had his best start of the season for the Nationals.

Denard Span and Jayson Werth each had two hits for Washington, which has won the first three games of the four-game series.

Haren (2-3) allowed two runs and six hits over six innings, lowering his ERA from 7.36 to 6.29.

Rafael Soriano pitched a scoreless ninth for his seventh save.

Brandon Phillips had three singles and Shin-Soo Choo homered for Cincinnati, which has lost four of five.

Phillies 9, Mets 4: In New York, Domonic Brown and John Mayberry Jr. hit consecutive home runs to break open a close game, and the Philadelphia Phillies gave Jonathan Pettibone to his first major league win.

Ryan Howard knocked in two runs, Jimmy Rollins scored twice and Michael Young had three hits — two that never left the infield — for the second straight day. Pettibone (1-0) pitched his way out of an important jam to help Philadelphia improve to 4-1 against the Mets after losing the season series last year.

Shaun Marcum (0-1) went four innings in his Mets debut after beginning the season on the disabled list with a neck injury and right biceps tendinitis. John Buck hit his eighth homer in the ninth, way too late to prevent New York from dropping to 3-5 on a nine-game homestand with its third straight defeat.

Cubs 3, Marlins 2: In Miami, David DeJesus hit a tiebreaking single in the seventh inning for the Chicago Cubs.

Travis Wood (2-1) pitched six innings allowing two runs and struck out five for Chicago.

Marlins slugger Giancarlo Stanton hit his first home run of the season. Miguel Olivo also homered for Miami.