McDonald netted in the first two periods to help the Blues race 3-0 ahead and after Edmonton scored twice in the second, Kevin Shattenkirk and Chris Stewart provided third-period goals to secure a fourth straight road win.
St Louis (40-17-7) kept their perfect start to a six-game road trip intact while earning their first four-game winning streak on their travels since 2009.
"You have to be able to win on the road to be successful," McDonald said.
"We know it is going to be tough every night and that we have to play a certain way, and on this road trip especially we have stuck to that style."
The triumph also tied the Blues with Detroit at the top of the Central Division lead moved them one point behind Western Conference-leading Vancouver, who they face on Thursday.
A dominant third period secured the result for St Louis as they held the lifeless Oilers (25-32-6) to just six shots with a majority of those coming in the final few minutes.
Edmonton appeared to seize the momentum when Corey Potter and Ryan Nugent-Hopkins reduced the deficit to a single goal but the Oilers were unable to sustain the effort.
"We put the foot on the gas again in the third period," St Louis coach Ken Hitchcock said. "We play our best hockey when we're a bit scared."
Blues goaltender Jaroslav Halak made 22 saves to earn his 20th win of the season. Team mate Brian Elliott also has 20 wins giving the Blues their first ever pair of 20-win netminders.
Devan Dubnyk was pulled from Edmonton's goal after allowing three scores in 19 shots. Yann Danis came on and made 10 saves.