BUFFALO - There was another late goal by the Blue Jackets, but there wasn't second one to match it.
Linus Ullmark literally didn't allow it in his first start for the Buffalo Sabres this season.
Ullmark made a career-high 44 saves for the Buffalo, which edged Columbus 3-1 Thursday at Keybank Center - a game that was tough for the Jackets to digest.
They got another solid performance from goalie Sergei Bobrovsky, who allowed two goals on 28 shots in his fifth straight start, and they also outshot the Sabres 34-14 over the final two periods.
In all, Columbus outshot Buffalo 45-29, took more than 60 percent of all shot attempts during 5-on-5 and had one guy, Artemi Panarin, hit the post twice and crossbar once.
Panarin also scored the only goal, but it was one of those nights for the Jackets, who began their 11th back-to-back of the season on a sour note.
"We were pushing," Columbus coach John Tortorella said. "I didn't like our first period, but our second and third periods, the guys tried. I had no problem with their effort there. I thought we were going to tie it up. [Panarin] hits a crossbar a couple shifts after he scores his first goal, we had a couple opportunities … didn't score."
Here's how it happened:
(Corsi, scoring chance data per naturalstattrick.com)
Goals: CBJ - None; BUF - Benoit Pouliout EV (Kyle Okposo, Jack Eichel), 11:41
Shots: Sabres 15, Blue Jackets 11
Shot-Attempts percentage (Corsi 5v5): Sabres 52.5% (21-19), Blue Jackets 47.5% (19-21)
Scoring chances 5v5: Sabres 14, Blue Jackets 9
High-Danger chances 5v5: Blue Jackets 3, Sabres 2
The rundown: After losing 7-4 to the Winnipeg Jets on Tuesday and then having emotions boil over into a shouting match between Justin Falk and Evander Kane at practice Wednesday, the Sabres were determined to pour some passion into this game.
They did, too, winning the first period in most aspects - including the score. Buffalo outshot Columbus in the period, outskated the Blue Jackets and defended well. The Sabres also got the game's first goal, from Benoit Pouliot, who was a healthy scratch against the Jets.
Kyle Okposo broke up a Columbus breakout at the right point, sending the puck back into the Blue Jackets' zone for the play that led to Pouliot's goal, which was scored off a slap shot by Okposo from the slot.
Columbus nearly scored about four minutes earlier, on its best scoring chance of the period. Artemi Panarin scooped the puck below the circles in the Sabres' zone and sent a backhand shot to the net that eluded goalie Linus Ullmark.
The puck hit the right post and bounced away, just inches away from the goal line, keeping the game 0-0.
The Blue Jackets, who got center Alexander Wennberg back after missing eight games with a back injury, had two close calls with injuries in the first. Right wing Josh Anderson took a slap shot off the left hand, and needed attention on the bench, and Tyler Motte was shaken up after colliding with teammate Markus Hannikainen in front of the Buffalo net.
Anderson and Motte returned to the game and finished the period.
Goals: CBJ - None; BUF - None
Shots: Blue Jackets 15, Sabres 7
Shot-Attempts percentage (Corsi 5v5): Blue Jackets 62.9% (22-13), Sabres 37.1% (13-22)
Scoring chances 5v5: Blue Jackets 4, Sabres 3
High-Danger chances 5v5: Blue Jackets 1, Sabres 0
The rundown: Columbus woke up and pushed back in the second, but didn't create many rebounds and didn't score a goal.
The Blue Jackets outshot the Sabres 11-2 to start the period, overtaking the count for total shots in the game, but didn't really threaten Ullmark all that much.
The best scoring chance of the period for Columbus came at the midpoint, when Seth Jones got the puck in the slot and fired a hard wrister through traffic in front of the net. Ullmark tracked it, gloved it and held it for a stoppage.
There was another injury scare for Columbus in this period, as Wennberg took a hard shot off the lower right leg and hobbled to the bench. He stayed om the bench, and finished the game.
Tempers also began to flare a bit in the late stages of this period, and turned into a scrum in the corner of the Buffalo zone after the final horn sounded. Sabres defenseman Rasmus Ristolainen and Anderson were paired off at one point, and each was assessed a roughing minor.
Goals: CBJ - Artemi Panarin EV (Zach Werenski, Seth Jones), 13:45; BUF - Kyle Okposo EV (Evander Kane, Brendan Guhle), 7:18; Jack Eichel EV-EN (Ryan O'Reilly), 19:54
Shots: Blue Jackets 19, Sabres 7
Shot-Attempts percentage (Corsi 5v5): Blue Jackets 78.1% (25-7), Sabres 21.9% (7-25)
Scoring chances 5v5: Blue Jackets 8, Sabres 4
High-Danger chances 5v5: Sabres 4, Blue Jackets 3
The rundown: If the second period was the Blue Jackets' pushing back, this was them pushing the pedal to the floor.
They did everything they wanted, but just couldn't outscore the Sabres. Buffalo got a fluky goal by Okposo off a weird bounce, and then sealed it with an empty-netter at 19:54 by Jack Eichel.
Otherwise, this 20 minutes was owned by the Blue Jackets. Columbus peppered Ullmark with 19 shots - 12 more than Bobrovsky faced - and the Jackets had the puck on their sticks the vast majority of the time.
What they didn't do enough was crowd the front of Ullmark's net and invade the inside of the Sabres' zone.
"We have no second chances or rebounds, or [bodies] in the blue [paint]," defenseman Zach Werenski said. "We have to get guys in his eyes. He's a good goalie, a big goalie. He saved everything he saw. We have to do a better job of getting guys in his eyes, and tips and rebounds stuff like that."
The one time they didn't need to do that was the lone goal for the Jackets, scored by Panarin off a great backhand shot.
After getting the puck from Werenski near center ice, he gained the offensive zone, eluded two defenders and roofed a backhand past Ullmark for his 12th goal, cutting Buffalo's lead to 2-1.
"I saw it live when it happened," Werenski said. "It's unbelievable. It's crazy. It's no surprise. He does it every day in practice. It was a huge goal for us."
Sensing a comeback, similar to the one Columbus pulled off Monday in Toronto, Tortorella pulled out all the stops for the final five minutes. He ran the top line out there quite a bit, and he wasn't about the next game - which will be played against the Vancouver Canucks on Friday at Nationwide Arena.
They were close to getting a tie, and it almost worked. Panarin hit the crossbar with a slap shot, less than a minute after his goal.
"I was killing them," Tortorella said of his top line. "We're close. I have to use them. I've got to get more from other people. I'm trying to win the game that we're playing, so if I have to use them, I used them. That's the way it's going right now until we get some other guys going."
Overall shots: Blue Jackets 45, Sabres 29
Overall shot-attempts percentage (Corsi 5v5): Blue Jackets 61.7% (66-41), Sabres 38.3% (41-66)
Overall scoring chances 5v5: Blue Jackets 21, Sabres 21
Overall high-danger chances 5v5: Blue Jackets 7, Sabres 6
Blue Jackets: Host the Vancouver Canucks on Friday (7 p.m., FS-O, Fox Sports Go; Radio: CD102.5 FM, BlueJackets.com, SNE, SNO, SNP, NHL.TV)
Sabres: At the New York Rangers on Thursday (7:30 p.m., NBCSN, MSG, NHL.TV)