PITTSBURGH — Andrew Cashner carried a perfect game into the seventh inning and faced the minimum 27 batters in a one-hitter that sent San Diego Padres past the Pittsburgh Pirates 2-0 on Monday night.
Cashner (10-8) retired his first 18 batters before Jose Tabata grounded a clean single into right field leading off the seventh. Tabata was erased when Andrew McCutchen grounded into an inning-ending double play, and the right-hander cruised the rest of the way for his first complete game in 31 career starts.
Cashner struck out seven and did not walk a batter.
The Pirates lost for the second time in eight games after entering the day tied for first place in the NL Central with the St. Louis Cardinals, who played later at Colorado.
Phillies 12, Marlins 2
At Philadelphia, Cliff Lee had three hits, knocked in a career-high four runs and struck out a season-high 14 to lead the Phillies to a win over the Marlins.
Lee (14-6) stroked a two-run, bases-loaded single to cap off a six-run third inning and also hit his first career triple in the fifth. Chase Utley, who also drove in four runs, hit a long three-run homer in the third.
Rockies 6, Cardinals 2
At Denver, Todd Helton started his final homestand with a key single in the eighth inning and the Rockies beat the Cardinals.
Charlie Blackmon had three hits and drove in three runs for the Rockies, who prevented the Cardinals from taking over sole possession of first place in the NL Central. They remained tied with the Pittsburgh Pirates, who lost 2-0 to San Diego.
Brewers 6, Cubs 1
At Milwaukee, Caleb Gindl had three hits, including a two-run home run, and Wily Peralta pitched six strong innings to lead the Brewers to a win over the Cubs.
The Brewers' fourth win in five games moved them 31/2; games above Chicago at the bottom of the NL Central.
Peralta (10-15) gave up an unearned run on five hits. He struck out seven while walking two.
Edwin Jackson (8-16) lasted only four innings for the Cubs, giving up two runs on two hits and three walks.
Diamondbacks 2, Dodgers 1
At Phoenix, Paul Goldschmidt hit a two-run home run in the first inning and Trevor Cahill and three relievers made it stand up in Arizona's win over Los Angeles.
Goldschmidt raised his NL-leading RBI total to 116 with his 33rd home run off Dodgers starter Hyun-Jin Ryu (13-7). Goldschmidt has homered in each of his last two games after an 83 at-bat drought.
With Los Angeles' fourth loss in a row and the Diamondbacks third straight win, the Dodgers' magic number to clinch the NL West remains four.
Rays 6, Rangers 2
At St. Petersburg, Fla., Wil Myers homered and had three RBIs, Alex Cobb pitched eight solid innings and Tampa Bay Rays took the lead for the first AL wild-card spot by beating skidding Texas.
Myers had a second-inning solo shot and hit a two-run double during a four-run fifth. Cobb (9-3) allowed two runs and six hits while striking out 10.
Tigers 4, Mariners 2
At Detroit, Rick Porcello struck out 10 in six innings and Detroit beat Seattle to move a step closer to its third straight AL Central title.
Victor Martinez broke a 1-all tie in the sixth with a run-scoring single, and Omar Infante followed with his own RBI single.
Porcello (13-8) allowed a run and five hits with two walks, falling one strikeout short of his career high. Drew Smyly got five outs in relief and Jose Veras finished the eighth.
Royals 7, Indians 1
At Kansas City, Mo., James Shields kept Cleveland off balance for six innings, Salvador Perez led a scrappy Kansas City offense and the Royals won the opener of a three-game set with significant playoff implications.
Shields struck out a season-high 10 for the Royals (79-71), who moved within 21/2; games of the second AL wild-card berth. The Indians (81-69) remained a half-game back of Texas.
Angels 12, Athletics 1
At Oakland, Calif., C.J. Wilson pitched seven innings of four-hit ball for his career-best 17th win, and Los Angeles became the first team in nearly four months to beat Oakland starter Jarrod Parker.
Kole Calhoun had two of his three RBIs during a five-run fifth inning that chased Parker (11-7), who was 9-0 in 19 starts since a loss at Texas on May 22. It was the longest unbeaten streak by an A's starting pitcher since Hall of Famer Lefty Grove went 21 in a row in 1931.
White Sox 12, Twins 1
At Chicago, Erik Johnson pitched six scoreless innings to earn his first major league victory, and Chicago scored seven runs in the first against Minnesota.
The White Sox, who had lost six straight and 15 of 17, broke out of their offensive funk against Liam Hendriks (1-3), who got only two outs. Chicago set a season high for runs and posted its biggest margin of victory this year.
Reds 6, Astros 1
At Houston, Johnny Cueto threw five shutout innings in his return from the disabled list and Zack Cozart homered and drove in four runs to lead Cincinnati over Houston.
Pitching for the first time since straining the muscle below his right shoulder on June 28, Cueto (5-2) allowed five hits and struck out five with one walk.