Colorado didn't muster a great deal of offense -- just five hits, same as the Pirates -- but a run each in the first and fourth innings sufficed.
Bettis (3-0) pitched 7 1/3 innings, allowing five hits, with two walks and three strikeouts. He allowed a Pittsburgh runner in each of the first six innings, then had his only one-two-three inning in the seventh.
Bryan Shaw and Jake McGee finished the eighth, and closer Wade Davis set the Pirates down in order in the ninth.
Colorado won its third game in a row. Since losing their first two road games of the season, the Rockies are 9-2 on the road.
Pittsburgh has lost two games in a row for the first time this season. The Pirates are ensured of losing a series for the first time. They won or split each of their first five series.
The Rockies will go for a sweep in an afternoon game Wednesday.
Pirates starter Trevor Williams (3-1) missed a chance to become the first four-game winner in the major leagues. He pitched six innings, allowing two runs and four hits, with three walks and four strikeouts.
Williams has allowed two runs or fewer in 11 of his past 12 starts at PNC Park.
Edgar Santana pitched two scoreless, hitless innings, and Richard Rodriguez -- making his Pirates debut -- pitched the ninth.
Colorado manufactured a run in the first. Gerardo Parra walked. He advanced to third on Charlie Blackmon's single and scored on Carlos Gonzalez's fielder's choice for a 1-0 lead.
In the fourth, Gonzalez drew a one-out walk and, an out later, went to third on a Trevor Story single. Ryan McMahon drove in Gonzalez with a single to left for a 2-0 Rockies lead.
Although it wasn't the only game at PNC Park this season played in on-and-off snow, it was 34 degrees at first pitch, believed to be the coldest start for a game in Pittsburgh since at least 1990.
--Field Level Media