Brandon Barnes' fifth-inning RBI double ended up being the difference as the Houston Astros emerged with a 4-3 victory over the Chicago White Sox in the second test of a four-game series.
Jason Castro and Chris Carter each slugged a solo homer for the Astros, who have won three in a row following a six-game losing streak.
Lucas Harrell (5-7) tossed 6 2/3 effective innings, allowing seven hits and three runs with seven strikeouts. Jose Veras turned in a scoreless ninth for his 13th save.
Adam Dunn homered and Gordon Beckham added an RBI double for the White Sox, losers of three straight and five of eight.
John Danks (1-3) lasted six full frames and gave up four runs on five hits despite fanning five and walking only one.
The game was tied at 1-1 heading to the home fourth, when Castro dented Danks for his ninth homer of the season. Two batters later, it was Carter going deep for a 3-1 Houston edge.
Matt Dominguez singled to start the home fifth and after a Trevor Crowe fly out, Barnes stepped up and provided a three-run margin for the hosts with a double to right.
Chicago chipped away in the seventh, with Dunn beginning the frame with his 18th blast of the season. Conor Gillaspie singled with one out and moved up on a Dayan Viciedo groundout, then scored to make it 4-3 when Beckham bounced a ball into the stands in right.
Tyler Flowers singled and Harrell was pulled for Paul Clemens, who got Alejandro De Aza swinging to end the threat.
Clemens, Wesley Wright and Hector Ambriz combined to hold the ChiSox off the board in the eighth despite runners on the corners. Veras allowed a walk to Viciedo in the ninth, then pinch-runner Jordan Danks stole second. After a pair of strikeouts, Danks was picked off second with De Aza at the plate to end the game.
Chicago jumped on the board in the first when Paul Konerko singled home Alexei Ramirez, then Houston equalized in the second as Ronny Cedeno's double plated Carlos Pena.