Saints celebrated Boxing Day with their fifth clean sheet in a row in an emphatic victory over relegation favourites Raith Rovers, maintaining their excellent run of form which has seen them beaten only once in the last 11 outings.
Saints showed they meant business from kick-off pushing Rovers back into defence.
The early pressure paid off in the 13th minute when Ian Maxwell bagged the opener, slamming home from four yards after Raith keeper Rudy Pounoussamy had dropped David Hannah's free-kick under pressure from Michael Moore.
Raith carried little threat and their first attempt on goal was a Jonathan Smart header from an inswinging Paul Miller free-kick which looped high over the bar to land on the top netting in the 29th minute.
Fifteen seconds from the half-time whistle, a sweeping Kieran McAnespie cross was nodded back into the path of MacDonald by Moore and the striker headed the ball into the net to double the Saints' advantage.
Ten minutes into the second half, Paul Sheerin almost found the net with a neatly judged lob over Pounoussamy, but the ball bounced back into play off the upright and the danger was cleared.
Raith made more of an effort in the dying stages of the game and only a superbly timed Maxwell tackle prevented John Martin from getting a shot on target.