ARLINGTON, Texas -- Colorado Rockies outfielder Carlos Gonzalez had only been able to watch the previous three games when Texas rallied late for a victory each time.
With one swing of the bat Thursday, Gonzalez gave the Rockies their own late comeback victory over the AL West-leading Rangers.
Gonzalez delivered a pinch-hit, bases-clearing double into the left-center field gap to cap a five-run rally in the eighth inning, and the Rockies won 12-9 on a steamy day in North Texas.
"It was the perfect scenario for me. That's what I work for, for moments like that," said Gonzalez, a two-time All-Star who hadn't played since coming out of the second inning Monday night because of a nagging sprained left ankle. "I'm glad I got the job done, especially with all the tough losses against the Rangers. That was good for us to get away from the little bad streak."
The Rangers had won five straight, including the three against Colorado when scoring the deciding runs in the eighth inning or later each game. After trailing 4-0 early Thursday, Texas had just taken the lead with a four-run seventh before the Rockies had their big rally.
"All things considered, what we've been through the last four or five days," manager Walt Weiss said, agreeing to the suggestion of it being the Rockies' grittiest victory of the season. "It happens again today -- 105 degrees out there, and we still fight our way back."
David Dahl drew a bases-loaded walk from hard-throwing Matt Bush to tie the game the game at 9 with two outs before Gonzalez came up, hitting in the No. 5 spot that Mark Reynolds had started the game. Reynolds came out after aggravating his already-aching left hand on a swing while batting in the seventh.
Weiss speculated that Reynolds could end up on the disabled list because of the hamate bone that has been bothering him for a couple of weeks. X-rays were inconclusive, but Reynolds will get an MRI on Friday.
Reynolds, who described his team's comeback as "unbelievable," was near the Texas clubhouse getting X-rays when Adrian Beltre and Mitch Moreland hit consecutive homers to open the Rangers' four-run seventh. Elvis Andrus had a tiebreaking RBI double before Ian Desmond's grounder got another run in for a 9-7 lead.
Colorado got started in the eighth when lefty Jake Diekman (3-2) gave up a walk and consecutive singles to left-handed hitters before Bush relieved him.
"Diek just lost a little feel for the strike zone. ... Tough day for him," manager Jeff Banister said.
Scott Oberg (1-1), the third of five Rockies pitcher, got the win despite allowing two runs in his inning. Adam Ottavino struck out the side in the ninth for his first save.
Charlie Blackmon homered, doubled and singled twice. The Colorado leadoff man crushed a 455-foot homer to center on the second pitch of the game and had an RBI double in the fourth.
Rougned Odor had an RBI triple and a two-run homer for the Rangers. His 22nd homer in the fourth got Texas within 6-5.
"It was a gritty game by us, them, too," Desmond said. "They grinded just hard as we did and came out on top."
Dahl, a rookie who has been with the Rockies for just more than two weeks, matched a modern-day major league record by extending his hitting streak to start his career to 17 games with a single in the first. Chuck Aleno began his major league career with a 17-game hitting streak in 1941 for the Cincinnati Reds.
The game took 4 hours, 3 minutes to play, and 10 pitchers (five for each team) combined to throw 402 pitches. ... The announced attendance of 20,720 was the smallest for a Rangers home game this season.
Rockies: RHP Chad Qualls, out since July 16 because of colitis, said he has lost 16 pounds but is now on a normal diet. He is scheduled to make injury rehab appearances for Triple-A Albuquerque on Saturday and Monday.
Rangers: LHP Derek Holland felt great after throwing 55 pitches in three innings of a rehab start for Triple-A Round Rock on Wednesday night. Holland, on the 60-day DL with shoulder inflammation, is eligible to return Aug. 20. He throws again Monday for Round Rock.
Rockies: Rookie RHP Jon Gray (8-5) starts the series opener at Philadelphia. He had won three straight starts before going only 3 2/3 innings Sunday at Miami in his shortest outing of the season.