The Rockies are playing pennant-race baseball and they’re thriving. Over the last month, they’ve won 17 of their last 22 games and seem to grow more confident with every victory.

“This is kind of what we expected from ourselves, to be honest with you,” all-star third baseman Nolan Arenado said. “A lot of us aren’t really surprised.”

Friday night, behind another stellar start from Kyle Freeland (9-6, 3.13 ERA) and a milestone home run from Arenado, the Rockies beat Oakland 3-1 in front of 40,229 fans at Coors Field. Colorado snapped the Athletics’ six-game winning streak.

And, oh yes, reliever Scott Oberg, taking over for the-still-struggling Bryan Shaw, got four crucial outs over the seventh and eighth innings to hold the lead. Oberg, his ERA down to 2.97, struck out Matt Chapman looking at a nasty slider to end the eighth — with the bases loaded no less. It was that kind of clutch night for Colorado.

Adam Ottavino pitched a perfect ninth to earn his fourth save.

“This was a good game,” manager Bud Black said. “I don’t know if we ‘found a way’ to win this game — we won it. And it was well played by both sides.”

The Rockies remained two games behind the division-leading Dodgers in the National League West race. Los Angeles won, 4-1, at Atlanta.

Freeland, the Denver native who’s found a home in LoDo, pitched six scoreless innings, allowing five hits, walking three and striking out five. It was not the easiest of nights for Freeland, who needed 110 pitches to get through six innings and had to play traffic cop. The Athletics put men on base in five of Freeland’s six innings, but time after time, Freeland was able to put up a stop sign. All told, Oakland was 1-for-13 with runners in scoring position and left 13 men on base.

In the first inning, for example, Freeland escaped a base-load mess by inducing Matt Olson to pop out to second baseman Garrett Hampson.

Freeland’s best escape act came in the fifth, with a big assist from Arenado at third. Oakland jammed the bases on singles by Marcus Semien and Chapman and a one-out walk drawn by Khris Davis. Freeland has been adept at inducing double plays all season, and he got another one when he needed it most. Stephen Piscotty clubbed Freeland’s fastball into the ground, Arenado scooped up the ball and started a slick, five-four-three double play. Freeland pumped his fist as he left the diamond.

“Yes, I was looking to get a ball on the ground there,” said Freeland, who improved to 6-2 with a 2.45 ERA in nine starts at Coors this season. Overall, Colorado starters have posted a 1.65 ERA at home this month.

“I didn’t want to give them anything that they could hit into the air,” Freeland continued. “For me, those pitches are a fastball inside and a changeup. We got (Piscotty) on an inside fastball.”

Freeland has now forced 16 double-play grounders, having entered the night with 15, tied for third-most in the NL.

“He’s learning and developing a sense of keeping the ball down and getting the ball on the ground,” Black said. “Kyle has that ability because the action of his pitches is always down.”

Arenado’s home run came in Colorado’s two-run fifth. A Charlie Blackmon double and an RBI single by Ian Desmond produced the first run, then Arenado drove a 454-foot shot off left-hander Sean Manaea. Arenado’s 26th home run, which gave him the National League lead, was his 100th at Coors Field. He became the seventh player to hit 100 home runs in LoDo, joining Todd Helton, Larry Walker, Carlos Gonzalez, Vinny Castilla, Dante Bichette and Troy Tulowitzki.

“It means a lot, and I thank God I’ve been able to stay healthy,” said Arenado, who also drove in his 580th run, surpassing Andres Galarraga for the seventh-most RBIs in franchise history. “This is a good place to hit and I love playing here. I’ve been able to compete and help the team win.”

Typical of Arenado, he doled out praise to Freeland for the left-hander’s performance on the mound.

“Freeland did a great job battling, like he always does,” Arenado said. “He’s always competing. We always feel really good about winning a game with him on the bump.”

Colorado’s first run came courtesy of small ball in the second inning. A bunt single by Noel Cuevas, a double by Gonzalez (3-for-4) and a bunt single by Garrett Hampson that scored Cuevas put Colorado on the board.

More in Colorado Rockies

Nolan Arenado's future is likely to remain a hot topic well into the 2019 season, but suggestions that a trade might be brewing between the Rockies and Yankees to ship the all-star third baseman to New York are unfounded.