DETROIT: Kansas City’s James Shields pitched seven scoreless innings to lead the Royals to a 3-0 win at Detroit on Wednesday, re-opening a one-game lead over the Tigers atop the tightly contested American League Central.

With the regular season reaching its business end, there were other key results around the majors: Atlanta beat National League East leader Washington to keep up its wild-card push, the Los Angeles Dodgers downed San Diego to maintain a handy break atop the NL West, and St. Louis’ lead in the NL Central was pared back by defeat against Cincinnati.

Kansas City’s Shields (14-7) gave up a single leading off the first but then picked off the runner at first base, and then retired every other batter he faced until the seventh inning. The Tigers put two men on base in that inning, but Shields worked out of the jam.

Rick Porcello (15-11) pitched well for the Tigers, but Kansas City pushed scored twice in the fourth on RBI singles by Salvador Perez and Lorenzo Cain. Alcides Escobar added a sacrifice fly in the ninth.

Atlanta avoided a three-game sweep at Washington by winning 6-2, with Aaron Harang in fine form on the mound.

The Braves snapped a three-game losing streak as Harang (11-10) held the NL East leaders to one unearned run over seven innings.

Justin Upton’s RBI single in the sixth broke a 1-1 tie, and he added a two-run double during a three-run seventh.

Nationals’ starter Stephen Strasburg (11-11) allowed seven hits in six innings as Washington’s divisional lead over the Braves was trimmed to a still dominant eight games, while Atlanta remained within 1-1/2 games of the last wild-card berth.

The Dodgers beat San Diego 4-0 to stay 2-1/2 games clear atop the NL West, with Dan Haren pitching seven scoreless innings.

Haren (13-10) became the fourth Dodgers pitcher to reach 13 wins this season, along with Clayton Kershaw, Hyun-Jin Ryu and Zack Greinke. It is the first time in 19 years the team has had four starters reach 13 wins.

Carl Crawford had a season-high four hits, including three doubles, for L.A. while Hanley Ramirez and Juan Uribe added RBI singles.

Cincinnati’s Alfredo Simon shook off a rough start to last seven innings and also drove in the go-ahead run with his second double of the game, leading the Reds to a 4-2 victory over St. Louis.

Simon (14-10) notched only his second win since the All-Star break while Ryan Ludwick hit a solo homer for the Reds.

The Cardinals lost consecutive games for the first time this month, and saw their NL Central lead cut back to 3-1/2 games over Pittsburgh.

Baltimore maintained its yawning 10-game gap atop the AL East by winning 10-6 at Boston, completing a three-game sweep.

Wei-Yin Chen (15-4) retired the first 16 batters and gave up his only run in the seventh inning.

The Orioles took an 8-0 lead in the fifth and continued their seemingly unstoppable journey toward the division crown.

Chicago’s Avisail Garcia drove in two runs with a bases-loaded single in the eighth inning, lifting the White Sox to a 2-1 victory over struggling Oakland.

The Athletics looked set for a win after Jeff Samardzija threw seven scoreless innings but the bullpen blew a lead for the third time in four games.

Oakland’s pursuit of the AL West title is all but over, and its hold on a wild-card spot is looking shaky.

Milwaukee rookie Matt Clark hit his first career home run as the Brewers took a much-needed win against Miami.

Brewers’ starter Wily Peralta (16-10) gave up one earned run in 6 2-3 innings to help Milwaukee snap a four-game losing streak and win for just the second time in its past 15 games.

They remained 1-1/2 games behind Pittsburgh for the second wild-card spot.

New York’s Mark Teixeira made up for his mistake in the field amid a four-run Tampa Bay first inning by hitting a go-ahead triple in the fifth and the Yankees rallied to beat the Rays 8-5.