DENVER -- Working his way out of a first-inning jam paved the way for Antonio Senzatela's strongest outing in two months.
The Cardinals loaded the bases loaded with one out in the first when Senzatela induced Paul DeJong to ground into an inning-ending double play, producing an immediate lift for the pitcher.
"I got the ground ball for a double play and I thought, `Wow, it's OK," Senzatela said. "When you feel like you're executing pitches, getting outs and getting people to feel uncomfortable (at the plate), you just feel your confidence going up."
DeJong said the Cardinals couldn't capitalize on their opportunities.
"It could've been a completely different game if we take the lead in the first," he said. "But we had our chances throughout the game to get something else going. Our pitchers did a great job, holding them to two runs again. That's all we can ask from the pitching and defense, is to give us a chance and just got to execute a little better as an offense."
It was the second straight 2-1 victory for the Rockies, who ensured their first series win over the Cardinals since taking two of three from St. Louis May 26-28, 2017.
Senzatela (9-10) allowed a run on four hits. He struck out five and walked two in his first win since July 14. It was an abrupt reversal of form for Senzatela, who entered 0-3 with a 15.83 ERA since returning Aug. 25 from a stint with Triple-A Albuquerque.
"They're just making a lot of quality pitches," Cardinals manager Mike Shildt said. "They're controlling counts. They're hitting with their secondary pitches, keeping the ball down. We've seen a lot of good pitching the last two nights."
Jairo Diaz allowed a leadoff single in the ninth to Paul DeJong and Nolan Arenado's throwing error on Yadier Molina's fielder's choice pulled second baseman Ryan McMahon off the bag, allowing DeJong to advance and Molina to reach. But Diaz then got Tommy Edman to ground into a double play and after walking pinch-hitter Matt Carpenter got pinch-hitter Rangel Ravelo to line out to left for his third save of the season.
Dakota Hudson (15-7) pitched nearly as well, allowing two runs on four hits in six innings. He struck out seven and walked five, one intentionally, and saw his career-high five-game winning streak snapped.
Desmond connected on the first offering from Hudson in the sixth inning, driving the ball into the center field seats for his 17th home run of the season and giving the Rockies their only lead.
"That one felt good," Desmond said. "I've been working the last couple of days in the cage so it was good for the work to pay off."
Down 1-0, the Rockies evened the score on Wolters' RBI double in the fifth. The Rockies had the bases loaded with two outs after an intentional walk to Arenado but Daniel Murphy's deep fly to left was caught at the warning track by Marcell Ozuna.
St. Louis took the early lead on a run-scoring double by Goldschmidt in the third. He scored Dexter Fowler, who beat out an infield single and advanced to second on a balk by Senzatela.
Cardinals second baseman Kolten Wong booted Ryan McMahon's second-inning grounder and bobbled the ball a couple of times but still managed to "roll" him out at first base. With McMahon closing in on the baq and Wong unable to corral the ball, he reached down with his glove and pushed the ball hard enough for it to roll into first baseman Paul Goldschmidt's glove a step ahead of the runner.
Rockies: CF Ramiel Tapia crumpled to the ground in pain after fouling a pitch off the inside of his right knee in the second inning. He was tended to by team trainers and managed to walk off the injury to complete the at-bat, grounding out to second. He was replaced in the lineup an inning later by Sam Hilliard. ... LHP Kyle Freeland threw about 25 pitches in his second bullpen session since straining his left groin Aug. 20. "He threw well, great intensity," Rockies manager Bud Black before the game. "He threw the ball with a great deal of conviction. He didn't show any signs of the injury. We're still being cautious. We're going to see how he comes out of it (Thursday)."
Cardinals: RHP Miles Mikolas (8-13, 4.25 ERA) makes his second career start at Coors Field. Allowed career-high 12 hits in his only previous start at Coors Field a year ago in which he also homered and did not figure in the decision.
Rockies: RHP Tim Melville (2-1, 3.66 ERA) is slated to make his fifth start of the season. Rockies have come out on top in three of his four outings.
Rob Manfred trying to iron out minor league discord, issues with union
While the winter meetings brought some buzz, baseball's commissioner is trying to manage changes on the horizon for his sport.
Chaim Bloom brings change to Red Sox despite lack of moves
Boston didn't make much noise at the winter meetings, but its new baseball boss has established a new culture and mindset.
Jose Peraza, Martin Perez agree to deals with Red Sox
The Red Sox have agreed to a one-year deal with free-agent infielder Jose Peraza, according to a report Thursday by Robert Murray.
Corey Knebel, Brewers agree to same $5.1M salary
The Brewers agreed to a one-year contract for $5,125,000 with pitcher Corey Knebel, who is returning from Tommy John surgery.
Bruce Bochy to manage France for WBC qualifiers
Former San Francisco Giants manager Bruce Bochy will manage France in its qualifiers next year for the World Baseball Classic.
Winter meeting notes: Nomar Mazara, Tanner Roark get fresh starts
The White Sox hope to tap Nomar Mazara's potential, while the Jays and Mets found rotation help at a fair cost.