Alex Steen had two assists in the Blues' first game in nine days due to a snow postponement at home on Tuesday, helping them move past a 2-8-2 January that dropped them to 13th in the Western Conference. Ty Conklin made 28 saves subbing for Jaroslav Halak, who is day-to-day with an upper-body injury he sustained in practice.
Andrew Cogliano had two assists for the Oilers, who've lost 17 of their last 20. Edmonton rallied from three goals down on scores from Taylor Hall and Theo Peckham late in the second period before the Blues answered on Brad Winchester's goal off a rebound early in the third.
McDonald missed 24 games since being injured in an overtime loss at Edmonton on Dec. 4, crashing into Shawn Horcoff after getting his skate stuck in a rut. At the time, McDonald was the Blues' leading scorer with 17 points.
The Blues' goal total was one off their season best, after totaling six goals the previous three games - all losses.
Though outshot 13-5 in the first period, the Blues beat Devan Dubnyk on goals from Oshie and Alex Pietrangelo for 2-1 lead. Matt D'Agostini scored on a power play deflection, capitalizing on Jim Vandermeer's double minor, and Brad Boyes nudged the puck over the line after Erik Johnson's shot deflected off Patrik Berglund to make it 4-1 at 13:46 of the second.
Hall answered 50 seconds later with his 17th goal and third in five games, and Cogliano scooted across the slot and handcuffed Conklin to set up Peckham's tip-in that cut it to 4-3 with 1:08 left in the second.
Notes: Blues D Eric Brewer, the team captain, missed the game with his wife in labor. ... Steen has two goals and six assists in the last five games. ... The Blues have sold out all 27 home games. ... The Oilers are 3-26-5 when trailing after two periods. ... Conklin has won four of his last five starts against Edmonton. ... Hall entered the game third in rookie scoring with 31 points.