Cardinals 7, Giants 2

Cardinals 7, Giants 2: Jhonny Peralta homered and Carlos Martinez worked five strong innings as visiting St. Louis took the rubber match of a three-game series from San Francisco.

Jon Jay doubled in a run and Martinez helped himself with a two-run single for the Cardinals, who wrapped up a 10-game road trip with a 5-5 mark. Martinez (2-3) was making his fourth straight start since making the transition from the bullpen and allowed one run and five hits while striking out six.

Madison Bumgarner (9-6) started for the Giants and was knocked around for five runs – four earned – on six hits and three walks in five innings. Bumgarner and Brandon Crawford each delivered an RBI single as San Francisco fell for the 17th time in its last 22 games.

Peralta came up with a runner on in the first and sent a towering fly to left that the outfielder’s lost before it dropped into a fan’s glove in the front row. The Giants got a run back in the third on Bumgarner’s RBI single but St. Louis broke through for three runs in the fourth as rookie first baseman Adam Duvall’s throwing error put a runner in scoring position before Jay’s double and Martinez’s single through a drawn-in infield.

San Francisco had its best chance to get into the game in the fifth, but Martinez struck out Buster Posey with the bases loaded to end the inning on a disputed foul tip. Shane Robinson tripled in a run for the Cardinals in the sixth and rookie Oscar Taveras made up for an error in right that led to a Giants run by delivering an RBI fielder’s choice in the seventh.

GAME NOTEBOOK: San Francisco finished 2-8 on its 10-game homestand and will open a five-game road trip at San Diego on Friday. … Cardinals RHP Seth Maness got a rare at-bat in the eighth inning and led off with a single before moving to third and getting thrown out at the plate attempting to score on a sacrifice fly by LF Tyler Colvin. … 3B Matt Carpenter went 2-for-4 with a pair of doubles and is 9-for-15 over the last four games for St. Louis, which heads home to host Miami on Friday.