LOS ANGELES (AP) — The Los Angeles Dodgers edged St. Louis 1-0 on Thursday in the first clash this season between the two teams that fought out last year's National League championship, with pinch-hitter Justin Turner coming up with the winning hit in the eighth inning.

The win moved the Dodgers within two games of faltering NL West division leader San Francisco, which was beaten 3-1 at home by Cincinnati, while the Cardinals dropped 5-1/2 games behind NL Central leader Milwaukee, which defeated Colorado.

Among other games, Toronto had a shutout win over the Chicago White Sox and the Los Angeles Angels notched a sixth-straight win by downing Minnesota.

The Dodgers-Cardinals clash was a classic pitchers' duel between L.A's Josh Beckett and St. Louis' Adam Wainwright and it was Wainwright (10-4) who ended up an undeserving loser despite holding the Dodgers hitless for the first five innings and pitching the complete game.

The decisive moment came in the eighth. Juan Uribe, back after missing 34 games with a hamstring strain, led off the inning with a single and advanced to second on a sacrifice bunt by Drew Butera before rookie Miguel Rojas' infield single put runners at the corners.

Turner, batting in place of the pitcher, came through with his 20th RBI of the season.

Cincinnati's Brandon Phillips homered among his three hits and scored twice in his return to the lineup, leading the Reds to a 3-1 win over San Francisco.

Jay Bruce and Todd Frazier each added two hits for the Reds, who have won five of six. Bruce doubled in the seventh and has an extra-base hit in each of his last seven games; the longest streak by a Reds player since 1986.

Cincinnati starter Mike Leake (6-6) allowed one run and one walk in eight innings, with a career-high 12 strikeouts.

Milwaukee's Rickie Weeks had three hits, including a leadoff home run, to power the Brewers to a 7-4 win over Colorado.

Weeks homered on the first pitch from Christian Friedrich (0-2). Aramis Ramirez added a two-run shot later in the inning.

Brewers' starter Wily Peralta (9-5) won his fifth consecutive start despite giving up a grand slam in the fourth inning.

Toronto's J.A. Happ pitched a season-high 7-2/3 scoreless innings to steer the Blue Jays to a 7-0 win over the Chicago White Sox.

Happ (7-4) struck out a season-high eight.

Adam Lind had three hits and three RBIs as Toronto handed the struggling White Sox their 10th loss in 11 road games.

Los Angeles' Mike Trout and Albert Pujols drove in two runs apiece to help the Angels beat Minnesota 6-4 and complete a perfect six-game home stand.

Jered Weaver pitched seven strong innings, and the Los Angeles Angels completed a perfect homestand with a 6-4 victory over the Minnesota Twins on Thursday.

Pujols had three hits and Josh Hamilton drove in a run to help the Angels moved a season-best 11 games over .500 (44-33). Trout had two doubles, including a two-run drive down the left-field line in the seventh.

The Angels have won 15 of 17 in Anaheim, where they have the majors' best home record. Los Angeles swept Texas and Minnesota to complete its first unbeaten homestand with at least six games since May 2004.

L.A. starter Jered Weaver (8-6) did not give up any extra-base hits, allowed one run, and struck out six in his seven innings to improve to 7-0 in eight career starts against Minnesota.

Detroit notched its seventh-straight victory by winning 6-0 at Texas, with Rick Porcello pitched his first career shutout and 10th victory this season.

Pittsburgh's hot-hitting rookie Gregory Polanco homered and drove in four runs to lead the Pirates to a 5-2 win over the New York Mets.

Philadelphia's Chase Utley hit a two-run homer in the 14th inning to give the Phillies a 5-3 win over Miami.

Chicago's Justin Ruggiano hit a two-out, two-run double to break the tie in the seventh inning and send the Cubs to a 5-3 victory over Washington.

Houston's Matt Dominguez broke out of a slump with a three-run homer and rookie George Springer also went deep to power the Astros to a 6-1 win over Atlanta.