DENVER -- Yorvit Torrealba was out of his comfort zone in the field, but he felt right at home at the plate.
The veteran delivered a big hit when the Colorado Rockies needed it most.
Torrealba's single to left scored Wilin Rosario from second and the Rockies rallied to beat the Atlanta Braves 6-5 in 12 innings on Wednesday.
The win ends a three-game skid and sends Colorado on a seven-game road trip with a little momentum after dropping a doubleheader to Atlanta on Tuesday.
"This is huge. Yesterday the team was awful all the way around," said Torrealba, who got his 700th career hit with the game-winning single. "To be able to come back and now heading to the road and hopefully start a winning streak."
It started with a big comeback win over baseball's best team.
Rosario led off the 12th with a double to left. After Michael Cuddyer was intentionally walked, reliever Matt Belisle, pressed into service with no position players left on the bench, struck out on a bunt attempt.
Torrealba ripped a single to left, and Justin 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," said Rosario.
Cuddyer and Josh Rutledge homered for the Rockies. Belisle (1-1) got the win in relief. The Rockies used every available position player in the game, so Torrealba, a catcher, had to play first base for the last two innings.
He played one game at first last season.
"Usually in winter ball I just play 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."
Luis Ayala (1-1), who pitched the 12th, suffered the loss.
Upton and Dan Uggla had two hits each for the Braves, who were one out away from a sweep when the Rockies rallied off closer Craig Kimbrel in the ninth to deny Tim Hudson his 200th career win.
"There were some tough balls out there," Hudson said of Kimbrel. "He'll be OK the next time."
Trailing 5-3, Jonathan Herrera doubled with one out and pinch-hitter Troy Tulowitzki singled to right. After Eric Young Jr. struck out, Dexter Fowler hit a two-run double off the wall in left to tie the game.
"I misread it," Upton said. "It was hit hard and I retreated but not far enough back to catch it."
Rosario had a chance to win it but struck out with Fowler at second.
"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.
Tyler Chatwood, called up before the game to make his first major league start of the season for Colorado, allowed five runs -- four earned -- on nine hits over 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.
Colorado broke out on top when Cuddyer and Rutledge hit consecutive homers with one out in the second. It was the first time this season the Rockies hit back-to-back homers.
The Braves, which were held without a homer a day after they hit six in a doubleheader sweep, went ahead 3-2 in the fourth. Freddie Freeman hit an RBI double and scored on Juan Francisco's single to center. Hudson helped himself out with a bases-loaded single to give Atlanta the lead.
Colorado tied the game in the bottom of the inning when Chatwood legged out an infield single to score Chris Nelson from third.
NOTES: Atlanta OF Jason Heyward was released from the hospital Tuesday. He underwent an appendectomy Monday night and is on the 15-day DL. ... Justin Upton needs three homers in the last five games of the month to tie the major league record for April. Albert Pujols (2006) and Alex Rodriguez (2007) hold the record at 14. ... Rockies 1B Todd Helton was out of the lineup with a strained left forearm. It's the fifth straight game he has missed. The Rockies haven't decided if he will need to go on the 15-day DL.