ST. LOUIS -- St. Louis Blues defenseman Ian Cole made the most of a rare chance to play.
T.J. Oshie scored twice and Chris Porter added a goal for the Blues, who won for the sixth time in eight games.
St. Louis has at least one point in 13 of 15 games (10-2-3) since coach Ken Hitchcock took over for Davis Payne on Nov. 6.
The Ducks have won three times in 19 games.
Cole broke a 1-1 tie at 7:39 of the second period with his second goal in 37 NHL games. He converted a rebound of a shot by Matt D'Agostini.
The 18th overall pick in the 2007 draft, Cole was inserted into the lineup in place of Kevin Shattenkirk, who sat out because of the flu.
"Whenever I can get in, I relish that opportunity," Cole said. "It was definitely up in the air until right about game time."
Cole put the Blues ahead for good with his first goal since March 9. He set up Porter with a perfect pass for the first goal of the game in the opening period.
The multipoint night was the second of Cole's NHL career.
Cole, who has played in only 11 games this season, is hoping his performance will lead to more playing time.
"I don't get to choose whether I play or not, and I'd like to make it a hard decision for the coaches," Cole said. "I don't like sitting. No one does."
Cole's two-point effort drew rave reviews from Oshie, who gave the Blues a 3-1 lead with a goal late in the second period.
"You can see where he has some offensive ability," Oshie said. "He had a chance to jump up in the play and obviously, it was the right read."
St. Louis goalie Jaroslav Halak improved to 5-7-3 after a 1-6 start to the season. He stopped 21 shots and has saved 187 of the last 200 shots he has faced over seven games. He made a glove save to rob Niklas Hagman in the second period.
Bobby Ryan and Devante Smith-Pelly scored for the Ducks. Ryan's goal was his tenth of the season and third in two games. Anaheim fell to 1-2-1 under coach Bruce Boudreau, who took over for Randy Carlyle on Nov. 29.
Oshie, who added an empty-netter with 45.3 seconds left for his ninth goal of the season, was pleased with his team's all-around performance. It was the Blues' second win in a row after a 5-2 loss to Chicago on Saturday.
"The boys are rolling. We're back on track," Oshie said.
Anaheim climbed to 3-2 on Smith-Pelly's third goal of the season at 3:17 of the third period. The Ducks had several chances to tie the game, but Halak made nine saves in the final period.
"You saw that we never quit," Boudreau said. "In the four games I've been here, you can tell this team has a lot of heart."
Ryan tied it 1-1 with a goal early in the second period.
"We gave them a few breaks," Ryan said. "We had a few defensive breakdowns that eventually cost us the game."
Porter got the Blues out to a 1-0 lead, poking a rebound behind goalie Jonas Hiller in the first period. Hiller, who stopped 37 shots in a 3-2 win over Los Angeles on Tuesday, fell to 7-12-5.
Jamie Langenbrunner added two assists for St. Louis.
Anaheim C Saku Koivu sustained an undisclosed lower body injury in the second period and didn't return. "It's your ultimate lower body injury. Day-to-day," Boudreau said. ... Blues C Jason Arnott played in his 1,200th NHL game, becoming the 89th player to reach the mark and the sixth active player to do it. Ducks RW Teemu Selanne is fourth on the active list at 1,287 career games. ... St. Louis earned its 900th home win. ... The Ducks haven't won back-to-back games since Oct. 16-17.