Rougned Odor homered and Cole Hamels pitched 7 2/3 innings as the Texas Rangers beat the St. Louis Cardinals 1-0 on Friday night.
Hamels (7-1) allowed three hits while striking out six and walking three. He lowered his road ERA to 1.64 this season and turned in his fourth consecutive quality start.
Hamels scattered five baserunners and allowed only one to reach second.
Odor homered on the first pitch he saw in the fifth, hitting it 433 feet to straightaway center. It was Odor's third homer in as many games and the 19th for the Rangers in their last eight games.
Sam Dyson picked up his 12th save.
The Rangers have won four straight, improving to an AL-best 43-25. Texas improved to 4-0 all-time at Busch Stadium in the regular season and is a win away from winning a franchise-record eighth consecutive series.
Michael Wacha (2-7) lost a career-high seventh straight decision, despite allowing one run over 7 2/3 innings. He is the first Cardinals starter to lose seven straight decisions since Kip Wells in 2007.
It was the second straight quality start for Wacha, who gave up two runs in seven innings on Friday at Pittsburgh.
Matt Carpenter was the lone Cardinal to have success against Hamels, reaching all four times on two hits and two walks.
After reaching a season-high seven games over .500 on Sunday, the Cardinals have lost three straight and fell to 15-19 at home.
The Cardinals recalled 2B Kolten Wong and optioned OF Jeremy Hazelbaker to Triple-A Memphis. Wong hit .429 with four homers and 11 RBI in seven games at Memphis and he also played center field in three of those games.
Rangers: RHP Tom Wilhelmsen cleared waivers and declined an outright assignment to Triple-A Round Rock, becoming a free agent. ... RHP Nick Martinez will start Saturday instead of Yu Darvish (shoulder).
Cardinals: RHP Seth Maness (elbow) threw a scoreless inning at Triple-A Memphis on Thursday, his second in as many days.
Rangers: Martinez (1-1, 3.38 ERA), who was called up from Round Rock on June 14, will be making his first start this season in the second of a three-game series Saturday. He earned his first career relief win at Oakland on Wednesday.
Cardinals: RHP Carlos Martinez (7-5, 3.46 ERA) is coming off a career-high 8 1/3 innings and 122 pitches while allowing one run at Pittsburgh last Saturday. He will be making his first career appearance against Texas.