ST. LOUIS — Lance Lynn threw a five-hit shutout in his first career complete game and the St. Louis Cardinals got home runs from Allen Craig and Matt Holliday in a 6-0 victory over the New York Yankees on Tuesday night.
Holliday and Matt Adams had three hits and an RBI apiece and Craig drove in two runs in the interleague matchup.
The Cardinals have won 10 of 13, shaking off a 12-inning loss in the series' opener, and ended the Yankees' three-game road winning streak that matched their best of the year.
David Phelps (1-2) pitched in his hometown for the first time and allowed three earned runs in six innings. Two infield errors contributed to two unearned runs in the Cardinals' breakout four-run third.
Lynn (6-2) struck out two and walked three, topping his previous career best of eight innings on April 25, 2012, at Chicago against the Cubs.
Red Sox 6, Braves 3
At Atlanta, Jackie Bradley Jr. hit a two-run single during a four-run rally in the seventh inning and Boston beat Atlanta in the latest comeback following its longest losing streak in 20 years.
Dustin Pedroia had three hits and Grady Sizemore had two, along with a go-ahead groundout in the seventh inning of the interleague contest.
Brewers 7, Orioles 6, 10 inn.
At Milwaukee, pitcher Yovani Gallardo delivered a pinch-hit double that drove home the winning run with two outs in the 10th inning, foiling Baltimore's strategy.
With the pitcher's spot on deck and knowing Milwaukee was out of position players, the Orioles intentionally walked Mark Reynolds with two outs and no one on base in the 10th.
Dodgers 6, Reds 3
At Los Angeles, Andre Ethier drove in Los Angeles' first four runs with a homer and a bases-loaded triple, and Zack Greinke tied a season high with 11 strikeouts.
Greinke (8-1) allowed three runs, eight hits and no walks in 72/3 innings. The 2009 AL Cy Young Award winner was lifted after giving up a two-run homer by Devin Mesoraco on his 104th pitch — ending Greinke's streak of 22 consecutive starts in which he had allowed fewer than three earned runs. It was the longest such streak since the dead-ball era.
Giants 4, Cubs 0
At San Francisco, Tim Hudson tossed seven scoreless innings to lead San Francisco past Chicago. Hudson (5-2) allowed six hits, struck out five and walked none. The 38-year-old has allowed two earned runs or fewer in nine of his 10 starts, and he has pitched at least seven innings eight times.
Buster Posey drove in two runs, and Michael Morse and Pablo Sandoval singled home a run each to help the Giants (33-19) hold on to the best record in the majors. Jeremy Affeldt pitched a perfect eighth and Jean Machi pitched a perfect ninth to close out the Cubs.
Padres 4, Diamondbacks 3
At Phoenix, Tommy Medica hit a tiebreaking solo homer in the eighth inning and Eric Stults pitched six effective innings for San Diego.
Medica had a run-scoring single in San Diego's three-run third inning and lined a solo homer to left off Evan Marshall (2-1) in the eighth to break a 3-all tie.
Mets 4, Pirates 2
At New York, Juan Lagares drove in two runs and New York finally managed some timely hits in its first game with a new batting coach.
Daniel Murphy doubled twice and light-hitting Ruben Tejada reached base all four times up to help the Mets win for only the fourth time in 13 games. The victory came one day after hitting coach Dave Hudgens was fired and replaced by Lamar Johnson, who had been New York's minor league hitting coordinator.
Rockies 6, Phillies 2
At Philadelphia, Wilin Rosario hit a go-ahead, three-run homer and Jorge De La Rosa pitched six strong innings to lift Colorado to victory.
Drew Stubbs went 2 for 4 with a double and an RBI for the Rockies, who had lost four of five while being outscored 16-0 in their two previous games.
Blue Jays 9, Rays 6
At Toronto, Mark Buehrle became the first nine-game winner in the majors, Edwin Encarnacion and Adam Lind hit back-to-back home runs and the Toronto Blue Jays extended their winning streak to eight games.
Juan Francisco also homered for the AL East-leading Blue Jays, who have won 13 of 15 and are 19-7 in May.
Buehrle (9-1) allowed four runs, three earned, and eight hits in 62/3 innings. Casey Janssen finished for his eighth save in eight chances.
Tigers 6, Athletics 5
At Oakland, Calif., pinch-runner Rajai Davis scored on Austin Jackson's fielder's choice groundout in the eighth inning and Detroit halted a three-game losing streak.
J.D. Martinez drew a one-out walk off Oakland reliever Fernando Abad (0-2). Davis was brought in to run and the speedy outfielder took second on a passed ball. He then stole third when A's catcher Derek Norris was throwing the ball back to Abad.
After Luke Gregerson replaced Abad, Jackson hit a sharp grounder to Oakland shortstop Jed Lowrie, but the A's were unable to turn the double play and Davis raced home with the go-ahead run.
Angels 6, Mariners 4
At Seattle, Jered Weaver gave up three runs over six innings for his fifth win in six starts and C.J. Cron homered to lead Los Angeles.
Weaver (6-3) gave up seven hits and a walk while striking out five. Weaver has lasted at least six innings in nine of his 11 starts this season, and this was the first time in eight outings he allowed more than two runs.
Astros 3, Royals 0
At Kansas City, Mo., Collin McHugh held light-hitting Kansas City at bay over seven innings, and Houston earned its first four-game winning streak since last September.
Former Ashland High standout Jeremy Guthrie (2-4) allowed one run and seven hits in six innings for Kansas City.
White Sox 2, Indians 1
At Chicago, Gordon Beckham homered, Conor Gillaspie singled home another run and Chicago outlasted Cleveland in a game twice delayed by rain.
Scott Carroll (2-3) worked three scoreless innings in relief to get the win.
Twins 4, Rangers 3
At Minneapolis, Texas closer Joakim Soria bobbled a slow-bouncing ball hit by Minnesota's Danny Santana to the left of the mound with two outs and the bases loaded in the ninth inning, allowing the winning run to score.