DENVER – Julio Teheran pitched brilliantly in the hitters’ haven that is Coors Field on Monday night, but the Braves wasted several scoring opportunities before everything went awry in an eighth inning that saw the bullpen falter and a bouncing grounder get past shortstop Dansby Swanson.

Swanson’s play – initially ruled an error but changed to a hit — on a Gerardo Parra ground ball let the first run in and the Rockies added two more in the inning to come away with a 3-0 win to open a four-game series at a place where the Braves haven’t won in more than three years.

“That’s about as good as it gets right there,” Braves manager Brian Snitker said of Teheran’s four-hit, three-walk, eight-strikeout performance in seven scoreless innings. “It’s a shame that he couldn’t come out on top.”

No Braves pitcher has at Coors Field since June 10, 2014, the Braves’ last win at the ballpark in downtown Denver. Since then the Braves are a staggering 2-15 overall against the Rockies and 0-11 at Coors.

After Teheran made some of his best pitches to get out of a highly pressurized situation in the seventh inning, reliever Rex Brothers gave up a triple to the first batter he faced in the eighth, former Georgia Tech player Charlie Blackmon.

DJ LaMahieu was walked intentionally to try to set up a double play, and Brothers got a bouncing grounder that Swanson tried to field on a short hop to his right side, but the ball took a difficult bounce — Swanson said it hit the edge of the grass at the front of the infield — and skipped past him, allowing Blackmon to score on the play (he wasn’t running initially).

“I was talking to (infield coach Ron Washington) about it and I was like, if that were to happen tomorrow and the day after and the day after, I would do the same thing,” Swanson said. “It’s just kind of unfortunate, the end result. It’s something we work on and prepare for, it just obviously didn’t go our way. That’s baseball. Sometimes you hit it at people and sometimes it takes unexpected bounces and stuff.

“That’s a play I know I can make, it’s just circumstances – it didn’t happen…. The way the angle and everything, if I go back I may not even be able to make the play anyway. Being able to go and try to pick a short hop, because a ball hit like that, kind of like a chopper, I can’t just look at the runner. Instincts take over and I trust them, I trust myself a lot. I didn’t do it this time, but like I said I’d do it the exact same way if it happened again.”

Blackmon scored on the play and Brothers was replaced by another former Rockies reliever, Jason Motte. He walked the next batter, Mark Reynolds, and Carlos Gonzalez made him pay with a two-run single to center.

Teheran did some of his most impressive recent work in the seventh inning after Gonzalez led off with a single that caromed off the pitcher’s glove, then stole second base before Jonathan Lucroy walked. With two on and none out in a scoreless game, Teheran struck out Pat Valaika, got pinch-hitter Nolan Arenado (who has a majors-leading 100 RBIs) to pop out foul to first base, and struck out pinch-hitter Alexi Amarista.

“That’s the best that I’ve felt in a while,” Teheran said. “I was commanding and controlling the game, using all my pitches. Everything was working today. I was concentrating. In my past games when I get in trouble I don’t make pitches, but today I was able to do it. I was able to control myself. Even though the umpire was squeezing me a little bit I didn’t get out of my plan.

“I’ve been working and trying to get back on track, and today I felt like I had my best, like the old Julio Teheran we’re used to seeing.”

Rockies pitcher Chad Bettis turned in an inspiring performance in his first major league start since having testicular cancer surgery last fall and undergoing radiation treatments until mid-May. He pitched seven scoreless innings, worked out of serious jams in three of them, and gave up six hits and no walks with two strikeouts.

The game was only moments old when the Braves had their first scoring opportunity as Ender Inciarte led off with a hit to left field that got past Gerardo Parra and rolled to the warning track. Inciarte never slowed as he rounded third, getting the go sign from third-base coach Washington, and was thrown out on the relay from shortstop Trevor Story.

“I went as hard as I could. It took two perfect throws to get me out,” Inciarte said. “There’s nothing else I could have done differently, and I think if that play happens again he’s probably going to send me again and I probably want to go home again.”

They had prime opportunities to score in the fourth, fifth and seventh innings, but the Braves couldn’t get a run across in any of those innings after getting one-out doubles from Nick Markakis in the fourth inning and Swanson in the fifth, then a leadoff double from Kurt Suzuki in the seventh.

Suzuki advanced to third on a Danny Santana sacrifice bunt before rookies Ozzie Albies and Swanson each flied out to center field, with Albies’ high-fly not deep enough for Suzuki to attempt to score.

Teheran was 1-6 in his past nine starts and 0-4 with a 7.00 ERA in his last five before Monday, when he got no decision. He had allowed eight homers in his past four starts – giving him a career-high 28 allowed — including six homers in 11 innings in his past two road starts at Philadelphia and Dodger Stadium.

But at the place most pitchers loathe, he turned in a stellar performance and has only one bad outing in four career starts.

Bettis received a big ovation from the Coors Field crowd when he walked to the mound to start the game. Snitker said earlier in the day that Bettis’ recovery from cancer should make folks appreciate what’s important.

“How fragile life is,” Snitker said. “You’re never guaranteed tomorrow. I’ve been through some of those situations, not personally but have had family members go through things like that. So in the big scheme of things this (baseball) is just a small part of it. But it’s great, it’s cool to see a guy who’s been through everything he has get back out there.”