'Peaso' joined St. Johnstone in August 2001 when, having received a substantial fee from Celtic for Momo Sylla, manager Sandy Clark was able to pay a fee of £125,000 to Rangers for his services. MacDonald made a promising start when he scored in a 2–2 home draw against Livingston in just his second starting appearance. His time in Perth was dogged by injury, firstly in September 2002 and again just six months later. He next featured in September 2004, and after coming on as a substitute, MacDonald scored two goals in the last six minutes against Partick Thistle to help Saints to a 2–1 win.