Ryan O’Reilly had a goal and an assist as the St. Louis Blues beat Vancouver 4-3 on Wednesday night, further dimming the Canucks' faint playoff hopes.

Nick Leddy, Robert Thomas and Nathan Walker also scored for the Blues (37-20-9). David Perron added two assists.

"It was a good game all around," Perron said. "I don’t know how they feel over there, but they took it to us pretty good.

"I also thought that we played more our game, the way we want to play to be successful, and it felt at times it was four lines just going one after another, doing it right, and it was awesome."

Elias Pettersson scored twice for the Canucks (32-28-9), who were playing their fifth game in eight nights. Alex Chiasson also had a goal.

A 22-save performance earned St. Louis goalie Ville Husso his 18th win of the season. Thatcher Demko stopped 20 shots for Vancouver.

CLICK HERE FOR MORE SPORTS COVERAGE ON FOXNEWS.COM

St. Louis Blues' goalie Ville Husso (35) is celebrates with Colton Parayko after the Blues defeated the Vancouver Canucks 4-3 in an NHL hockey game Wednesday, March 30, 2022, in Vancouver, British Columbia.

St. Louis Blues' goalie Ville Husso (35) is celebrates with Colton Parayko after the Blues defeated the Vancouver Canucks 4-3 in an NHL hockey game Wednesday, March 30, 2022, in Vancouver, British Columbia. (Rich Lam/The Canadian Press via AP)

"Special teams played a huge part in the game today and got some momentum for the team," Thomas said.

The Blues also beat the Canucks on Monday, and swept the three-game season series.

Vancouver is five points behind the Vegas Golden Knights, who hold the final playoff spot in the Western Conference. The Canucks will face Vegas in their next two games.

"It looks like a lot and a big task when you look at the big picture. But you focus on the next game. Vegas is obviously a team that’s right ahead of us and that’s a huge game, obviously, coming on Sunday," defenseman Luke Schenn said. "Really all you can do is take it one at a time."

Pettersson got the Canucks back within a goal with less than five minutes left, snapping a shot past Husso from in tight for his second of the night.

Vancouver pressed for the equalizer, but couldn’t get another shot past Husso.

The goalie made one of his biggest stops with 70 seconds remaining, robbing Tanner Pearson with a glove save.

"We know how important every game is now and we’re not going down without a battle," Pettersson said.

A blocked shot turned into a goal for the Blues midway through the third period.

Canucks defenseman Travis Dermott went down to stop a shot from Mackenzie MacEachern but the puck bounced off him to Walker, who sent it soaring into the Vancouver net to make it 4-2.

St. Louis took a lead into the final period thanks to O’Reilly’s power-play goal.

Vancouver rookie Vasily Podkolzin was called for holding after he hauled down Brandon Saad on the rush, and the Blues made the Canucks pay.

Perron sent the puck to Brayden Schenn below the goal line and Schenn instantly dished it to O’Reilly at the hash marks. O’Reilly one-timed a shot past Demko for his 15th goal 17:16 into the second.

The Blues’ short-handed goal tied it 2-all earlier in the period. Pettersson coughed up the puck in his own zone and Thomas streaked down the ice. He beat Canucks defenseman Quinn Hughes for a breakaway, then put a shot past Demko glove side.

"It sort of was a deflating goal," Vancouver coach Bruce Boudreau said.

Pettersson gave Vancouver a 2-1 lead midway through the second with a beautiful goal from the top of the slot. The Swedish center intercepted a pass near the blue line, took a couple of strides and then released a rocket for his 21st of the season.

Nic Petan got an assist on the play, his first point for the Canucks.

The Blues got on the board 7:26 into the second when Leddy sent a long drive under Demko’s glove for his second of the season, tying it at 1.

Vancouver took the lead 31 seconds into the second. Brad Richardson sent Chiasson a blind, backhand pass and the winger swiped in a shot from the top of the crease for his seventh goal of the season.

Richardson got an assist on the play, marking his first point since being claimed off waivers from the Calgary Flames on March 21.

Some stellar saves by Demko kept the game scoreless through the first.

His best of the period came at the 10:20 mark when the All-Star goalie made a diving glove save to deny Vladimir Tarasenko from the side of the net.

"Where we’re at, if we’re not at our best, we’re not winning games," Schenn said. "We need to play a full 60 minutes."

NOTES: Canucks captain Bo Horvat left after the first period and did not return. The team later said his absence was due to a non-COVID-19 illness. ... St. Louis was without leading scorer Jordan Kyrou, who was a late scratch due to an unspecified illness.

UP NEXT

Blues: Play at Edmonton on Friday night.

Canucks: Host the Vegas Golden Knights on Sunday night.