LOS ANGELES — Clayton Kershaw outpitched Tim Lincecum in the seventh regular-season matchup between the 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.

Lincecum (4-8) gave up four runs and 10 hits in 5 1-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

WASHINGTON — Jordan Zimmermann dominated after a shaky start and rookie Anthony Rendon had his third three-hit performance as the Nationals defeated the Diamondbacks.

The NL West-leading Diamondbacks have lost three straight.

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.

Wade Miley (4-7) allowed three runs, including an unearned run in the fifth. Denard Span scored on Ryan Zimmerman's double play after Tyler Moore's solo homer in the fourth tied the game.

CUBS 5, BREWERS 4

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.

Starlin Castro returned to the Cubs' lineup with two hits and a run after sitting out Tuesday's game which snapped his 269 consecutive games played streak.

Yovani Gallardo (6-7) struggled with his command early and often, giving up five runs — three earned — and eight hits in four innings. He walked four and struck out five.

PHILLIES 7, PADRES 5, 13 INNINGS

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 Phillies' win over the 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.

Joe Savory (1-0) worked one inning and Jonathan Papelbon got the final three outs for his 15th save in 19 chances.

The Phillies, who trailed 5-2 after six innings, rallied to tie it with an unearned run in the seventh and two runs in the eighth on a two-run home run by Delmon Young off Luke Gregerson.