Erik Kratz hit a home run and starter Jeff Locke led a contingent of four Pittsburgh Pirates pitchers in shutting down the high-flying San Francisco Giants 1-0 Monday. The Pirates not only busted up a five-game losing streak, but they did it against Giants ace Madison Bumgarner and against a San Francisco team that had won eight games in a row. Locke (6-5), who had given up a combined 18 runs over his previous two starts, both losses, pitched 6-2/3 scoreless innings, giving up five hits, striking out three and walking none. He was pulled after Jarrett Parker hit a two-out double to the center-field wall in the seventh. Mark Melancon pitched the ninth for his 20th save. Bumgarner (8-3), who entered the game with a career-best seven-game winning streak, threw a five-hit complete game in the loss. In the fifth, with two outs, Kratz sent the first pitch from Bumgarner to left. The ball barely cleared the wall, and left fielder Angel Pagan timed it well and leaped — only to have the ball go off of his glove. Pagan slammed the glove onto the warning track in disgust. It was Kratz's first home run since Aug. 18, 2014. Rockies 5, Marlins 3: In a game that featured eight solo home runs, Mark Reynolds hit the go-ahead homer in the sixth inning to lead the Rockies to victory. It was Reynolds' second homer of the game and it came off reliever Brian Ellington (1-1), snapping a streak of 15 straight scoreless innings by Miami's bullpen in the past week. The Marlins' relievers allowed just two hits in that span. The eight solo homers are the most in a major-league game this season. In addition, it also set a major-league record for most solo blasts in a game in which all the runs scored were courtesy of the homers. Two of the blasts were hit by Miami center fielder Marcell Ozuna, who has 15 homers this season, including three in two games. Indians 7, Rays 4: Francisco Lindor belted a solo home run to snap a tie in the eighth inning and Juan Uribe added a two-run blast to lead the Indians' victory. Diamondbacks 3, Phillies 1: The Diamondbacks scored three runs before Phillies starter Jeremy Hellickson could even get an out and rode those runs all the way to a win and a four-game series sweep over the Phillies. White Sox 3, Red Sox 1 (10 innings): Reliever Zach Duke pitched out of a bases-loaded, nobody-out situation in the ninth inning and Jose Abreu delivered a two-run double in the 10th to give the struggling Chicago White Sox a victory. Rangers 4, Orioles 3: The Rangers rallied from a three-run deficit to win a battle of first-place clubs. Cardinals 3, Cubs 2: Brandon Moss and Jhonny Peralta each homered and starter Jaime Garcia tossed seven strong innings as the visiting Cardinals claimed a victory. Elsewhere it was: Astros 10, Angels 7; Tigers 8, Mariners 7 (12 innings); Dodgers 4, Nationals 1.