Cardinals starter Adam Wainwright earned his 12th win of the season to tie the National League lead on Tuesday as St. Louis beat Houston 9-5.
Wainwright (12-5) struck out nine over seven strong innings, allowing just one run, to join Washington's Jordan Zimmermann at the top of the NL wins category.
Matt Carpenter had three early RBIs to spark St. Louis to a 7-0 lead then they held on for a fourth straight victory, while NL Central rivals Pittsburgh fell 1 1/2 games behind after a 2-1 loss to Oakland took their losing streak to four straight.
Brandon Moss hit a two-run home run in the fourth inning and the Athletics leaned on pitcher Dan Straily, who allowed just one run in 6 1/3 innings to beat a quality start from Pirates pitcher Gerrit Cole.
It was a third straight win for American League West leaders Oakland, who remain a half-game in front of Texas.
In Detroit, Alex Rios tied an AL record with six hits during a nine-inning game to vault the Chicago White Sox past the Tigers 11-4.
The White Sox pounded out 23 hits in total and exploded late with 10 runs in the final two innings.
In addition to Rios's huge night, Dayan Viciedo hit two home runs while Detroit's Miguel Cabrera added his 29th homer of the season in the defeat.
In San Diego, Eric Stults pitched a complete game to snap the Padres' 10-game losing streak with a 2-1 win over Colorado.
Stults threw eight shutout innings but surrendered an RBI single to Nolan Arenado in the ninth before getting the final out.
(Writing by Jahmal Corner in Los Angeles; Editing by Peter Rutherford)