ST. LOUIS (AP) Rookie Stephen Piscotty tripled and scored the go-ahead run on Mark Reynolds' groundout in the eighth inning, and the St. Louis Cardinals beat the San Francisco Giants 2-1 on Monday night.

The run came a little too late for Michael Wacha, who allowed one run in seven innings with six strikeouts but missed a chance to become the majors' first 15-game winner.

Yadier Molina hit his third homer leading off the fourth for St. Louis. The Giants tied it on Brandon Crawford's two-out RBI triple in the sixth.

More from FoxSports

The Cardinals have won nine of 12, ended the Giants' four-game winning streak, and lead Pittsburgh by six games in the NL Central.

Kevin Siegrist (4-0) worked a perfect eighth against the top of the Giants order and Trevor Rosenthal earned his 37th save in 39 chances when pinch-hitter Buster Posey flied out to the wall in center.

ORIOLES 4, ATHLETICS 2

BALTIMORE (AP) - Steve Clevenger hit a three-run homer, Chris Tillman won his seventh straight decision and the Orioles completed a four-game sweep of the Athletics.

Clevenger, who was called up Friday from Triple-A Norfolk, got his first homer since June 29, 2012. He also had a career-high four hits in Baltimore's 18-2 victory Sunday.

Tillman (9-7) allowed two runs on three hits with three walks and three strikeouts over seven innings. He has not lost since May 31.

Oakland went winless on its seven-game East Coast road trip.

Darren O'Day had a perfect eighth and Zach Britton pitched the ninth for his 29th save.

Oakland left-hander Sonny Gray (12-5), who was scratched from his previous start with back spasms, allowed four runs (one earned) on seven hits with two walks and five strikeouts over 5 2/3 innings.

INDIANS 8, RED SOX 2

BOSTON (AP) - Danny Salazar pitched seven strong innings to cool off Boston's hot bats, and Lonnie Chisenhall had a solo homer and three RBIs to carry the Indians past the Red Sox.

Carlos Santana also hit a solo shot, and Chisenhall's two-run double highlighted a five-run fourth that lifted Cleveland to its sixth win in nine games.

Salazar (11-6) allowed one run on four hits, striking out five and walking one. He's given up two-or-fewer runs in six of his last seven starts.

Travis Shaw drove in both Boston runs with a solo homer and an RBI single for the Red Sox, who scored 45 runs on 60 hits in their previous three games against Seattle.

The Indians broke a scoreless tie with their five-run inning against Matt Barnes (3-3).

RANGERS 4, MARINeRS 3

ARLINGTON, Texas (AP) - Fernando Rodney walked Adrian Beltre to force in winning run in the ninth inning to help Texas beat the Mariners for the Rangers fifth straight win.

The Rangers have won eight consecutive home games and are three games over .500 for the first time since June 23.

Shawn Tolleson (5-2) worked a scoreless ninth inning for Texas. Rodney (5-5) failed to retire a batter in the bottom of the ninth, giving up two bunt hits and hitting a batter before the walk.

Cole Hamels came away with his second no-decision to go with one loss in his three Texas starts since being acquired from the Philadelphia Phillies on July 31. He missed his previous turn in the rotation last week with a groin injury.

Hamels allowed three runs on seven hits in seven innings. He struck out eight and walked four, the latter tying a season high.

DIAMONDBACKS 4, PIRATES 1

PITTSBURGH (AP) - Jeremy Hellickson won on the road for the first time in 2 1/2 months and Jake Lamb homered to lead the Diamondbacks to a victory over the Pirates.

Hellickson (9-8) allowed one run and three hits in 5 1-3 innings while striking out four and walking one. He had gone 0-4 with an 8.67 ERA in his previous six road starts since winning May 30 at Milwaukee.

Lamb connected for his fifth home run in the fourth inning, a solo shot off Gerrit Cole (14-7) that put the Diamondbacks ahead 4-0 and helped snapped the National League wild card-leading Pirates' four-game winning streak.

David Peralta had two hits for the Diamondbacks, including an RBI double in a two-run first inning. He is hitting .469 (30 for 64) with 21 RBIs in his last 19 games.

MARLINS 6, BREWERS 2

MILWAUKEE (AP) - Rookie left-hander Justin Nicolino pitched 6 2-3 solid innings and Derek Dietrich homered as the Marlins beat the Brewers.

Nicolino (2-1) scattered six hits and allowed just two runs in his fourth major league start. He retired the first two batters of the seventh inning before allowing a two-out double and was replaced after throwing 95 pitches.

Milwaukee starter Matt Garza (6-13) pitched two perfect innings to start the game but ran into trouble the rest of the way, lasting only five innings. He allowed five runs on eight hits while striking out two. He set a career record for losses in a season - he was 8-12 with Tampa Bay in 2009.

Dee Gordon had two hits, two RBIs, scored a run and stole a base for Miami, which has won five of seven games.

Ryan Braun had two singles and a walk for Milwaukee, which had its three-game winning streak snapped.