DENVER -- St. Louis Cardinals manager Mike Matheny called on closer Trevor Rosenthal to get the final four outs Wednesday.

Rosenthal got the job done, but it was hard work.

The right-hander needed 41 pitches, including 11 to shortstop Troy Tulowitzki in a pivotal strikeout in the ninth, to complete the Cardinals' 9-6 win over the Colorado Rockies in the rubber game of a three-game series.

"Wow, that's just like two heavyweights standing in the middle of the ring just swinging at each other," Matheny said of the Rosenthal-Tulowitzki showdown. "That was impressive."

The Cardinals, who trailed 5-1 early, scored five times in the final three innings to pull away.

Rosenthal, who earned his 23rd save in 26 chances, issued two walks in the ninth, bringing Tulowitzki to the plate with one out. The major leagues' leading hitter fouled off seven pitches. Two were clocked at 100 mph, including the last one that Tulowitzki missed.

"He finished me off with a fastball up and away," Tulowitzki said. "I battled. I got to at least put the ball in play. It's got to be a better at-bat."

Rosenthal said, "I felt like I was making good pitches on him, but he was getting the bat on them. We tried everything, we tried to give him some different looks. I wasn't sure what he was looking for, because he was kind of looking for everything."

Rosenthal then retired Justin Morneau, who had six RBIs on Tuesday night, on a fly to center to end the game.

The Cardinals took a 7-6 lead with two two-out runs in the eighth against Adam Ottavino (0-3).

Pinch hitter Daniel Descalso's opposite-field bloop double to left hit the foul line and tied the score. Second baseman Mark Ellis, running on contact from first base, made it home just ahead of catcher Wilin Rosario's tag. Third baseman Matt Carpenter followed by grounding a run-scoring double past Ottavino.

"I don't have any answers for today," said Ottavino, who yielded runs in six of his past eight outings. "I feel horrible that I gave it up. I thought I made good pitches and they found holes.

"(Descalso's hit) was a foul ball until the moment that it wasn't. I wasn't even worried when it was in the air."

As for Carpenter's hit, Ottavino said, "We had him shaded up the middle, but it didn't matter. It got through."

Aided by throwing errors from Rosario and reliever Nick Masset, the Cardinals added two unearned runs in the ninth when catcher Yadier Molina and right fielder Allen Craig hit two of the Cardinals' four sacrifice flies in the game.

The two starting pitchers, both making their major league debut, emerged with no-decisions after similar outings.

Rockies left-hander Yohan Flande, 28, gave up four runs in five innings, three in the fifth when first baseman Matt Adams hit a two-run homer.

Cardinals lefty Marco Gonzales, 22, pitched five innings and allowed five runs -- all in the fourth when the Rockies batted around. Pitching near his hometown of Fort Collins, Colo., he gave up seven hits with two walks while striking out three.

Gonzales sailed through three hitless innings before yielding five hits in the fourth. Center fielder Drew Stubbs led off with a first-pitch homer. Left fielder Corey Dickerson doubled home two runs. Second baseman DJ LeMahieu singled home a run, and Flande's slow bouncer to shortstop netted the fifth run.

"Three innings strong and the fourth inning just couldn't locate off-speed stuff," said Gonzales, who hit a double in his first at-bat. "From there, hitters eliminate it and they're hunting fastballs. When your fastball's elevated, it doesn't help, either."

St. Louis reliever Pat Neshek (2-0) was the winning pitcher after he retired the side in order in the seventh.

"It's a huge win," Matheny said. "Coming back from behind, we've got a pup on the mound. He was really good, all things considered. First opportunity here and the situation we put him in. It was an incredible test, and hopefully he answered a lot of questions for himself about himself. We had a lot of faith in what he was going to do, and he went out there and did it."

NOTES: Rockies RHP Christian Bergman was placed on the 60-day disabled list with a fractured left trapezium, a bone at the base of the thumb. The Rockies purchased the contract of LHP Yohan Flande from Triple-A Colorado Springs. Flande became the fourth starter to make his major league debut for Colorado this season, a single-season franchise record. ... Cardinals INF Pete Kozma was designated for assignment, two days after being recalled from Triple-A Memphis. St. Louis purchased the contract of LHP Marco Gonzales from Double-A Springfield. ... Cardinals RHP Joe Kelly (left hamstring strain) was moved from the 15- to the 60-day DL. He will make a rehab start this weekend for Triple-A Memphis. Kelly has already missed 64 games since going on the DL April 17, so moving him to the 60-day DL doesn't affect when he can return and simply opens a spot on the 40-man roster. ... Cardinals SS Jhonny Peralta hit cleanup for the first time this season and went 1-for-4 with a double and two RBIs.