LOS ANGELES — Clayton Kershaw outpitched Tim Lincecum in the seventh regular-season showdown between the two former Cy Young Award winners, rookie Yasiel Puig had three more hits and the Los Angeles Dodgers rallied to beat the San Francisco Giants 4-2 on Wednesday night for a three-game sweep of the defending World Series champions.
Kershaw (6-5) allowed two runs and four hits in eight-plus innings and had seven strikeouts against an offense that totaled just 14 runs over its previous six games while going 8 for 47 with runners in scoring position. The Giants' only runs came in the fourth on Buster Posey's 10th homer and second in two games, following a 14-game drought.
Kershaw, who led the NL in ERA each of the previous two seasons, has a 2.06 mark through his first 17 starts — tying Pittsburgh's Jeff Locke for second place, .01 behind the Mets' Matt Harvey.
Kenley Jansen got three outs for his sixth save in eight attempts after Kershaw gave up a leadoff single in the ninth by Marco Scutaro.
Lincecum (4-8) gave up four runs and 10 hits in 51/3 innings and struck out four.
The Giants have lost four in a row and nine of 12, putting them a season-worst two games under .500.
Nationals 3, Diamondbacks 2
At Washington, Jordan Zimmermann dominated after a shaky start and rookie Anthony Rendon had his third three-hit performance as the Nationals defeated the Diamondbacks.
Zimmermann (11-3) surrendered two runs in the first inning, but held the Diamondbacks scoreless with one hit over his final six innings. He allowed three hits overall, retired the final 10 batters he faced and improved to 13-0 at home dating back to May 17, 2012.
Cubs 5, Brewers 4
At Milwaukee, Scott Feldman pitched six solid innings, Anthony Rizzo had a key two-run single and the Cubs held on to beat the Brewers.
Feldman (7-6) gave up just three runs and six hits while striking out three and walking none for his first victory this season against an NL Central Division opponent. He retired 11 of the last 14 batters he faced.
Kevin Gregg got the last three outs for his 12th save in 12 chances.
Phillies 7, Padres 5, 13 innings
At San Diego, second baseman Logan Forsythe bobbled Ben Revere's grounder in the 13th inning and then threw home wildly, leading to two unearned runs in the Philadelphia Phillies' win over the San Diego Padres.
Chase Utley, who was hit by a pitch, and Domonic Brown, who walked against Tommy Layne (0-2) scored the decisive runs. Forsythe bounced a throw as he tried to prevent Utley from scoring. The ball bounced away from catcher Nick Hundley, allowing Brown to score also.
Athletics 5, Reds 0
At Oakland, Calif., A.J. Griffin pitched a two-hitter for his first win in more than a month, and Josh Donaldson hit a three-run homer for Oakland.
Griffin (6-6) struck out seven and walked two in a 108-pitch gem for his first career complete game, helping the A's sweep the two-game series.
The shaggy-haired right-hander had been 0-3 in five starts since winning at Houston on May 25. He didn't allow a hit until Devin Mesoraco's one-out single in the fifth, and Xavier Paul added a two-out double in the seventh for Cincinnati.
Reds starter Homer Bailey (4-6) allowed four runs and six hits in six innings. He also struck out seven and walked two.
Pirates 4, Mariners 2
At Seattle, Jordy Mercer hit a go-ahead single with two outs in the ninth inning, leading Pittsburgh to the victory.
The Pirates (48-30) moved 18 games over .500 for the first time since 1992, their last winning season.
Neil Walker hit a two-run homer off Felix Hernandez to put Pittsburgh ahead in the fourth. Seattle tied it in the sixth on Raul Ibanez's team-leading 18th home run.
Red Sox 5, Rockies 3
At Boston, John Lackey struck out a season-high 12 over seven strong innings and Daniel Nava drove in two runs, powering Boston to a sweep of the two-game series against Colorado.
Shane Victorino had three hits and Dustin Pedroia was 2 for 4 for the Red Sox.
Royals 4, Braves 3
At Kansas City, Mo., Alex Gordon drove in David Lough in the 10th inning, giving the Royals a split of their two-game series against the Braves.
Mets 3, White Sox 0
At Chicago, Shaun Marcum pitched eight crisp innings for his first win of the season, and Eric Young Jr. had three hits and drove in a run for the Mets.
Rangers 8, Yankees 5
At New York, Nelson Cruz homered and the Texas Rangers got consecutive two-run doubles from Adrian Beltre and A.J. Pierzynski in a victory over the New York Yankees.
Rangers rookie Justin Grimm pitched just well enough to beat Andy Pettitte, and the AL West leaders won for the seventh time in nine games following a six-game slide — their longest of the season. Texas improved to 6-12 against the Yankees since the start of 2011.
Indians 4, Orioles 3
At Baltimore, Scott Kazmir took a no-hitter into the seventh, and the Indians scored two ninth-inning runs off Baltimore closer Jim Johnson to pull out the victory.
Angels 7, Tigers 4
At Detroit, Mike Trout homered and drove in three runs, and Erick Aybar's two-run shot gave Los Angeles the lead for good in its eighth consecutive win over the Tigers.
The Angels have outscored the Tigers 55-21 during the streak.
Miguel Cabrera and former Angels outfielder Torii Hunter homered for Detroit.
Blue Jays 3, Rays 0
At St. Petersburg, Fla., R.A. Dickey pitched a two-hitter for his first complete game of the year, helping Toronto to its 12th win in 14 games.
Dickey (7-8) retired his first 13 batters before James Loney grounded a single between shortstop and third base with one out in the fifth. Yunel Escobar had a one-out single in the sixth, and then was erased when Matt Joyce hit a double-play grounder.