DENVER -- Charlie Culberson was batting .111 this season when he came up as a pinch hitter in the ninth inning Saturday night, a Colorado Rockies bench player with two career home runs in 143 previous major league at-bats.

Culberson hit a two-run homer, the first walk-off home run of his career to give the Rockies an 11-10 win over the New York Mets.

Culberson had gone 3-for-27 this season with three RBIs before he drove a 1-2 fastball from Mets closer Kyle Farnsworth over the center field wall to give the Rockies their third straight win in this four-game series with the Mets and their sixth win in seven games.

When Culberson connected, Farnsworth knew that a ball soaring through the light air at Coors Field ould spell trouble.

"Every fly ball here is like that," Farnsworth said. "You just got to hold your breath, hope it stays in."

It didn't and the Rockies -- who overcame a six-run deficit with an eight-run fifth, capped by third baseman Nolan Arenado's grand slam, and who then lost leads of 8-6 and 9-8 -- erupted from their dugout in joy to meet the giddy Culberson at home plate.

"I don't hit many home runs, but for some reason right there, I hit it and I just knew it had to go out and more to the point like it had better go out," Culberson said.

"But it was great feeling. Hitting a walk-off, I really can't describe it. That's definitely the best feeling I've ever had in baseball."

Shortstop Troy Tulowitzki began the inning with a single up the middle, his third hit of the night and No. 1,001 in his career. Arenado hit a fly to deep center, and Tulowitzki tagged up and hustled to second. He was able to trot home three pitches later when Culberson connected off Farnsworth.

"I noticed a pattern with him," Culberson said . "He was throwing a softer fastball early on, and then he'd hump up later in the count. He did that against Tulo. I was figuring he was going to do the same thing against me, but he threw his first-pitch fastball 95 and from then on I saw it pretty good, and I knew he was going to go to it to try to get me out."

The Mets took a 10-9 lead in the ninth on a two-out single by center fielder Juan Lagares off closer LaTroy Hawkins.

Lagares had been hitless in five at-bats with three strikeouts when he lined a hit to right center that scored left fielder Eric Young Jr. He had pinch run for Bobby Abreu, who greeted Hawkins with a one-out pinch-hit single and took third on a ground out.

The Rockies, who are six games over .500, improved to 11-4 at Coors Field where they are averaging 7.8 runs per game. Starter Franklin Morales, who lasted five innings, gave up three runs in the first and three more in the third, but the Rockies escaped that six-run hole when they sent 11 batters to the plate in the fifth and scored eight runs.

"We never quit. Even when we were down 6-0, the dugout was great," Tulowitzki said. "We felt like we could win. We felt like the other side knew we were coming, and sure enough we did every single time. It was an impressive win."

The Mets tied the score at 9 in the eighth on Young's single with one out in the eighth. The hit came off reliever Adam Ottavino, who gave up a leadoff double to second baseman Daniel Murphy and blew his first save of the season.

Catcher Jordan Pacheco put the Rockies ahead 9-8 in the seventh with a bases-loaded sacrifice fly. Tulowitzki opened the inning by grounding a single up the middle off Daisuke Matsuzaka and Arenado followed with a double on a grounder just inside third base. Pinch hitter Corey Dickerson was intentionally walked to get to Pacheco.

Lagares' hit gave the Mets a glimpse of a hard-earned victory, one that quickly dissolved with a fateful swing by Culberson.

"It's tough," Mets catcher Anthony Recker said, "but I don't think it should be tough for us to bounce back tomorrow. We did a heck of a job today. You got to take the positives out of it, coming back. The team scored eight runs on you in an inning after you're up 6-0 -- that is tough to come back from but we did it two or three times. Honestly, we just ran out of innings tonight."

NOTES: 3B Nolan Arenado's grand slam was the second of his career and first for the Rockies this season and tied him with Dante Bichette for the second-longest streak in franchise history. ... The Rockies recalled C Michael McKenry from Triple-A Colorado Springs and optioned RHP Chad Bettis there. The need for McKenry arose because C Wilin Rosario was suffering from a viral infection and was not at Coors Field on Saturday. In 13 games at Colorado Springs, McKenry has hit .300 (15-for-50) with five doubles, two home runs, 11 RBI and six runs. ... Rockies LF Carlos Gonzalez returned to the lineup after leaving Thursday's game with a left index finger contusion and not playing Friday. ... The Mets have led in 25 of their 29 games. ... Rockies manager Walt Weiss appealed a tag play at third base where C Anthony Recker, going first to third, was called safe ahead of 1B Ryan Wheeler's relay throw. The call was upheld.