Tucker gave the Astros a 2-0 lead with a two-run homer to right in the second that just made it over the wall. Tucker said he did not know if the ball was going to get out.
''It landed in the first seat out there,'' Tucker said. ''I was hoping for it. It was close. (Joey) Gallo gave it a nice effort, almost got it. I'm happy it got out. Those are runs on the board for us.''
Valdez (4-3) allowed one run on four hits. Valdez used his curveball consistently throughout his outing and recorded each of his 11 strikeouts on the curveball.
Valdez said through a translator his curveball was really good and exactly where he wanted it to be.
''His curveball was working tonight,'' Houston manager Dusty Baker said. ''They helped him out by chasing some. You don't have much time to pick up that curveball. It's one of the best curveballs around. He kept us in the game big time. Very rarely does a two-run homer early in game hold up.''
After a single by Anderson Tejeda in the second, Valdez retired 14 of the next 15 batters before a double by Sherten Apostel with one out in the seventh ended the left-hander's night.
''Today we couldn't solve the guy's curveball,'' Texas manager Chris Woodward said of Valdez. ''We know he's got an elite curveball. It is what is, the characteristics of it, it's a really tough pitch to hit.''
James pitched a perfect eighth, and Brooks Raley pitched the ninth for his first career save.
Valdez rebounded nicely after being tagged for 13 runs in the last 12 innings over his last two starts.
Jordan Lyles (1-5) allowed two runs on three hits in seven innings in losing his fourth straight decision.
''I thought Jordan threw the ball pretty well his last, especially the last five innings, his last outing,'' Woodward said. ''Just the intent, the mentality behind it, just the effort level, just everything seemed to be better, and he started that from the first inning today. He was in complete control, just a homer that went two rows deep. If it was 10 feet to the right, or left, we win 1-0 maybe.
''It's a little frustrating, because I know Jordan threw the ball well and he deserved obviously to win tonight. And I was hoping that our offense would get something going at the end, but just couldn't.''
Lyles had given up at least three runs in each of his previous eight appearances this season.
APOSTEL BECOMES YOUNGEST RANGERS' 1B STARTER
Apostel, who is 21 years, 190 days old, became the youngest Ranger to start a game at first base. The previous youngest was Adrian Gonzalez, who was 21 years, 246 days old when he made his major league debut and started at first against the Mariners on April 18, 2004.
Rangers: LHP Wes Benjamin (1-0, 4.38) is scheduled to make his first career start on Friday in Los Angeles in the first of four games against the Angels. Benjamin has made five appearances out of the bullpen this season, including earning his first career win in his last outing against the Athletics on Saturday, allowing two runs in four innings.
Astros: RHP Zack Greinke (3-2, 3.77) is slated to start on Friday as the Astros open a three-game series against the Diamondbacks. Greinke has lost two straight starts, allowing nine runs over 11 innings in those outings.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports