ST. LOUIS — Sean Monahan likes working overtime. The Calgary Flames forward proved it again Saturday night.

Monahan scored with 3 seconds left in overtime, lifting the Flames past the St. Louis Blues 3-2. Troy Brouwer and Matt Bartkowski also scored for the Flames, who improved to 13-4 in overtime this season. Brian Elliott made 29 saves.

Monahan's winning goal deflected off of Blues forward Kyle Brodziak. It was his third goal in his last four games.

"You never know, when you throw pucks at the net, anything can happen," Monahan said. "That's a good bounce, a lucky bounce and we'll take it."

Monahan set the Flames franchise record with the seventh regular-season overtime goal of his career. He also has seven career shootout winners.

Flames coach Glen Gulutzan didn't know what happened at first immediately after the game-winner.

"I jumped when everybody else jumped and it was kind of like, I didn't get the joke, right?" Gulutzan said. "Everybody got the joke, I didn't. I just jumped because I saw everybody else jump. So now I've got to take a look at it now."

Ivan Barbashev and Jaden Schwartz scored for the Blues, who had their four-game winning streak snapped. Jake Allen made 28 saves and all three goals he gave up went off of teammates.

"You feel bad for Jake when he played the way he did," Blues captain Alex Pietrangelo said. "If you give up three goals off your own guys, it means probably, for the most part, you're doing a good job defensively. Some tough bounces there, but we got a point out of it."

The Blues fell one point behind Nashville for third in the Central Division with 86 points and eight games to go. St. Louis trails Calgary by two points for the top wild-card spot.

The Flames snapped a two-game skid, salvaging the finale of a three-game road trip.

"It was a quick-paced game and it was pretty physical and it was back and forth all night, but we feel good right now and we're both fighting to stay in the playoffs and it was a big win for our team," Monahan said.

Schwartz gave the Blues a 2-1 lead at the 7:16 mark of the third period. The puck went off of Schwartz's skate and the goal was upheld after a review.

Bartkowski tied it at 10:53. It was the first goal in 17 games this season for the Flames defenceman.

Brouwer's power-play goal gave the Flames a 1-0 lead with 2:49 left in the first period. It snapped an 0-for-12 scoreless streak with the man advantage for Calgary.

Elliott stopped all 13 shots in the opening frame, including two quality chances by Schwartz and Alex Pietrangelo on a Blues power play.

Elliott improved to 4-1 all-time against his former team, including a 2-0 mark this season.

"I mean, obviously, you'd like to give up no goals there and I thought it was a blatant kicking motion (by Schwartz), but you've got to get points somehow in this league," Elliott said. "It was big to solidify one point and then to go after the next one."

Barbashev tied it at the 8:08 mark of the second period. Colton Parayko's pass drew Elliott out of position and Barbashev, on his second try after his first was blocked by a Calgary defender, put the puck in the empty net.

"After the first off the legs of the D or someone, I saw the puck was going back and I wasn't for 100 per cent sure that someone was going to be there, but I got lucky," Barbashev said.

NOTES: Blues F Magnus Paajarvi played in his 300th career game. ... Matthew Tkachuk, the son of former Blues star Keith Tkachuk, returned from a two-game suspension for elbowing LA's Drew Doughty. ... Blues C Paul Stastny (lower body), F Dmitrij Jaskin (upper body), C Jori Lehtera (upper body) and F Robby Fabbri (knee) were out, while Flames D Ladislav Smid (neck) also sat.

UP NEXT

Flames: Host Colorado on Monday night.

Blues: Host Arizona on Monday night.