ST. LOUIS (AP) -- St. Louis' John Lackey pitched seven strong innings after a shaky beginning to guide the Cardinals to a 4-3 win against Kansas City in Thursday's clash of neighboring rivals and the top teams from the National and American Leagues.
The victory kept the Cardinals six games clear of nearest rival Pittsburgh, which beat Washington in another matchup of leading playoff aspirants.
Los Angeles Dodgers ace Clayton Kershaw pitched a shutout against the New York Mets in the opener of another key series, while Minnesota ended the Los Angeles Angels' seven-game winning streak.
The Cardinals-Royals game was the makeup of a rainout last month. As in the originally scheduled game, both teams led their league in wins and Lackey (9-5) and Chris Young (8-6) were the scheduled starters.
Lakcey gave up consecutive scoring singles in the first inning but ultimately took the win. He is 5-1 with a 1.75 ERA in his past eight starts, working seven or more innings in all but one of them.
St. Louis closer Trevor Rosenthal took over in the ninth with a 4-2 lead but allowed runners onto second and third base before recording his first out. He escaped that jam to record his 30th save of the season, with Mike Moutsakas grounding out to end it.
Randal Grichuk and Matt Carpenter hit two-run homers for the Cardinals.
Pittsburgh's Francisco Liriano pitched six-plus dominant innings to steer the Pirates past Washington 7-3.
Liriano (6-6) struck out 11 as the Pirates returned from a miserable post-All-Star-break road trip to drop the NL East-leading Nationals.
Andrew McCutchen, Pedro Alvarez and Francisco Cervelli homered for Pittsburgh, which ended a seven-game losing streak to Washington.
Dodgers ace Kershaw retired the first 18 batters in his second shutout of the season as Los Angeles beat the Mets 3-0.
Kershaw (8-6) now has thrown 29 consecutive scoreless innings and notched his 11th career shutout. He was on track for a perfect game until giving up a single to start the seventh inning.
The worst-hitting team in the majors was all but helpless against the three-time Cy Young Award winner. Kershaw struck out 11 and did not walk a batter. He has fanned 38 without a walk in his past three outings.
Minnesota's Ervin Santana pitched eight scoreless innings against his former team to lead the Twins past the Angels 3-0.
Santana (2-0) was outstanding in his fourth start for Minnesota. He spent his first eight major league seasons with the Angels.
Trevor Plouffe hit a three-run homer in the fourth inning for the Twins, who wrapped their six-game California road trip with bookend wins, with four losses in between.
New York's Jacoby Ellsbury drove in four runs as the Yankees beat Baltimore 9-3 to complete a three-game sweep.
Ellsbury homered, had a sacrifice fly and a two-run double among three hits. Needing a triple to complete the cycle, he grounded back to the pitcher in the eighth.
Chase Headley hit a three-run double in the first inning for New York, which maintained its 5-1/2 game lead atop the AL East.
Houston's Jose Altuve homered with one out in the bottom of the ninth to notch his fourth hit and lift the Astros to a 5-4 win against struggling Boston.
The game was tied 4-4 when Altuve connected off Craig Breslow (0-1). The play was reviewed and confirmed. The Astros hit three homers for the game to lift their majors-leading tally to 135.
The Red Sox have lost eight straight.
Toronto's Russell Martin homered, doubled and drove in three runs to power the Blue Jays past Oakland 5-2.
Seattle's Mike Zunino hit an RBI double in the top of the 12th inning to give the Mariners a 3-2 win over Detroit.
Chicago's Jeff Samardzija, perhaps pitching for the final time in a Chicago uniform with the trade deadline approaching, allowed one run in eight innings to guide the White Sox past Cleveland 8-1.
Arizona's Zack Godley struck out seven in six scoreless innings in his major league debut, leading Arizona to an 8-3 victory over Milwaukee.
Miami's Tom Koehler threw seven strong innings to lead Miami to a 4-0 win against San Diego.