ST. LOUIS -- St. Louis starter Michael Wacha pitched six innings and Jedd Gyorko drove in the lone run with one of his three hits Friday night, leading the Cardinals to a 1-0 victory over the Arizona Diamondbacks.
Wacha (8-4) allowed three hits. He has won five of his last six starts and improved to 7-1 in 12 starts at Busch Stadium this season.
Wacha finished strong. He pitched out of a jam in the sixth. He gave up a single and double with two outs before striking out David Peralta to end his night.
Trevor Rosenthal, the third reliever for St. Louis, earned his fifth save with two innings of work.
Complete coverage of the Fightin' Phils and their MLB rivals from NBC Sports Philadelphia.
Arizona starter Robbie Ray left the game in the second inning after getting hit in the head by a line drive off the bat of rookie Luke Voit. The ball caromed in the air into foul territory where third baseman Daniel Descalso caught it for the out.
Ray lay prone on the mound for several minutes before sitting up with his teammates surrounding him. He was driven off the field on a cart and was taken for an examination (see full recap).
Royals down Red Sox to win 9th in a row
BOSTON -- Salvador Perez and Mike Moustakas homered off emergency starter Rick Porcello, who took over when David Price went back on the disabled list because of inflammation in his left elbow, and the Kansas City Royals beat the Red Sox 4-2 Friday night for their season-high ninth straight win.
Boston has lost five of six and nine of 14, dropping out of the AL East lead for the first time since June 29 and falling a half-game behind the New York Yankees.
Price started the season on the DL and didn't make his first start until May 29. The 31-year-old left-hander, winner of the 2012 AL Cy Young Award, is 5-3 with a 3.82 ERA.
Porcello (4-14), who had been scheduled to pitch Saturday, leads the major leagues in losses. He allowed four runs and six hits in seven innings.
Jason Vargas (13-4) gave up one run and five hits in six innings. Vargas, who had been winless in three starts since June 30, is one shy of his career high for wins, set in 2012 with Seattle.
Kelvin Herrera pitched a one-hit ninth for his 22nd save in 25 chances, getting rookie Rafael Devers to hit into a game-ending forceout after Andrew Benintendi's two-out single (see full recap).
Brewers beat Cubs to open crucial series
MILWAUKEE -- Brent Suter tossed seven scoreless innings and the Milwaukee Brewer slipped past the Chicago Cubs 2-1 on Friday night to move within one-half game of first place in the National League Central.
Suter (2-1) limited the Cubs to four hits. He struck out five and walked one in a career-long outing.
Milwaukee pushed across a run in the second on Manny Pina's run-scoring groundout.
In the fourth, Hernan Perez led off with a sharp grounder to the right side that Cubs first baseman Anthony Rizzo fielded cleanly. Rizzo was slow to get to his feet, however, and his feed to Jose Quintana covering the base was late. Initially called out, Perez was awarded first after a brief review.
Perez later scored on a fielder's choice.
Javier Baez's solo homer with one out in the eighth off newly acquired reliever Anthony Swarzak cut the lead to 2-1.
Quintana gave up four hits and two runs in six innings.
Corey Knebel notched his 18th save in 23 attempts (see full recap).
Tanaka stifles Rays as Yanks win 5th straight
NEW YORK -- Masahiro Tanaka took a perfect game into the sixth inning and struck out a career-high 14, pitching the New York Yankees past the Tampa Bay Rays 6-1 Friday night for their fifth straight win.
Brett Gardner hit a leadoff home run, Aaron Judge lined his AL-leading 33rd homer and Clint Frazier added a three-run shot to boost Tanaka (8-9). With their spurt, the Yankees were poised to move past Boston and into the AL East lead for the first time in a month.
On Thursday night, Gardner won the opener of this four-game set between playoff contenders with a homer in the 11th. Judge wound up losing half of his front left tooth in the celebration -- he got a temporary fix earlier in the day.
Tanaka struck out the first five batters, all swinging. He set down 17 in a row before Adeiny Hechavarria grounded a sharp, two-out single up the middle, past diving shortstop Didi Gregorius. Tanaka impassively watched the ball roll into center field and, after a brief ovation from the fans, went back to work (see full recap).