Lewis (3-2), who lasted just 3 2/3 innings in his last outing after giving up 12 hits and seven runs against Colorado, was much better in this one. The veteran righty moved a game above .500 for his career after holding Houston scoreless on seven hits.
Rougned Odor and Adrian Beltre both finished with two hits, a home run and two RBI for Texas, which snapped a brief two-game losing skid. Odor, a 20-year-old native of Venezuela who made his debut with the club less than a week ago, recorded both his first major league home run and RBI.
Jose Altuve went 3-for-5 while Matt Dominguez and George Springer had two hits apiece for Houston, which saw starter Brad Peacock (0-4) allow four runs on eight hits over six innings of work. Peacock also recorded a career-high 11 strikeouts.
Beltre's two-run homer to left in the third inning got out in a hurry and put the Rangers up, 2-0. The Astros threatened in the home half of the stanza, but with two outs and two on, Robinson Chirinos threw out Dexter Fowler trying to steal second to end the inning.
Odor's first career RBI came a half inning later. Mitch Moreland singled and Chirinos walked to bring up the nine-hole hitter, who singled up the middle to score Moreland.
With two outs in the sixth inning, Odor continued his special night, unloading the first pitch he saw from Peacock into the upper deck in right.
Dominguez and Springer singled to put two on in the sixth and chase Lewis from the ball game. Nick Martinez took over on the hill and got Chris Carter to ground out back to the mound to end the inning.
Martinez went 1 2/3 innings, Neal Cotts recorded two outs and Joakim Soria worked a scoreless ninth to preserve the shutout. Soria had retired 18 consecutive hitters before Altuve doubled down the first base line with one out in the ninth.