DENVER -- Wilin Rosario failed to come through in the ninth. He got to come home in the 12th as a consolation prize.
"I got the opportunity to win the game and I struck out against one of the best closers we have in the National League," he said.
Rosario redeemed himself for whiffing against Craig Kimbrel when he led off the 12th with a double to left against Luis Ayala (1-1). After Cuddyer was intentionally walked, Belisle, who had to bat with no one else available on the bench, struck out on a bunt attempt.
Torrealba ripped a single to left, and Upton's throw home was wide as Rosario slid in with the winning run.
"When I got the double I said we've got it because we need one hit and I was 100 percent sure I was going to score," Rosario said.
The Rockies used all available position players and by the 11th inning Torrealba, a catcher, was playing first base. He had one assist in two innings before delivering the game-winning hit.
"Usually in winter ball I just played first, but I also played once last year when I was with the Toronto Blue Jays," he said. "Still, it's not my position so I was a little bit nervous."
Michael Cuddyer and Josh Rutledge homered for the Rockies, who ended a three-game skid behind one-hit pitching by the bullpen over the last six innings. Matt Belisle (1-1), the fourth reliever used by Colorado, pitched two perfect innings.
The Rockies rallied off Kimbrel in the ninth to deny Tim Hudson his 200th career win. Dexter Fowler hit a tying double off the wall in left with two outs. Jonathan Herrera hit a one-out double and pinch-hitter Troy Tulowitzki followed with a single before Eric Young Jr. struck out.
Hudson looked set for his milestone win after he allowed three runs on six hits in six innings, struck out three and helped out with an RBI single in the fourth.
It was 48 degrees at first pitch, more than double Tuesday's 23-degree start to the doubleheader. Sunshine bathed Coors Field in the final game of a 10-game homestand that included three postponements due to snow.
There was little evidence of the wintry weather Wednesday.
Right-hander Tyler Chatwood was recalled from Triple-A Colorado Springs before the game and made his first major league start of the season. He allowed five runs, four earned, on nine hits and struck out three in six innings.
He left trailing 5-3 after Atlanta scored twice in the fourth on Herrera's throwing error and Jordan Schafer's RBI single.
Schafer was tagged out on a failed squeeze in the ninth.
"We tried to get another run. Every run you add on is important," Braves manager Fredi Gonzalez said. "We tried to get a three-run lead. I thought we had a great combination of guys doing it, we just couldn't execute it."
The Rockies took a 2-0 lead when Cuddyer and Rutledge homered off Hudson on consecutive at-bats. It was the first time this season Colorado has hit back-to-back home runs this season.
Chatwood answered in the bottom of the inning with an RBI single that bounced off home plate, allowing Chris Nelson to score from third.
Atlanta OF Jason Heyward was released from the hospital Tuesday after an appendectomy Monday night. ... Colorado 1B Todd Helton (strained left forearm) was out of the lineup for the fifth straight game. The Rockies have not determined if Helton needs to go on the DL. ... The Rockies will send lefty Jorge De La Rosa (2-1) against the Diamondbacks' Trevor Cahill (0-3) in the opener of a four-game series in Arizona on Thursday. ... Paul Maholm (3-1) will start Atlanta's series opener in Detroit on Friday.