Born in Blenheim, MacDonald made his provincial debut for Marlborough against Buller in 1994. He played 122 matches for the Crusaders and seven for the Chiefs in the Super 14, and played for Canterbury in the National Provincial Championship. He was a prodigious goal kicker. He is rare among New Zealand exported players, because he played even better after his return from Japan. In 2008, Sky Sport's Reunion awarded him the Crusader's MVP title for their Super 14 title-winning season.
He played for Burnside in the Christchurch premier competition. He made his All Blacks debut age 22, versus Scotland in 2000. He scored a total of 141 test points (14 tries, 25 conversions, 7 penalties) in the 56 tests he played. He has also appeared for New Zealand Māori, playing three games and scoring 10 points, including the winning try against the British and Irish Lions in 2005 in Hamilton.
In the 2003 Rugby World Cup, he was shifted from fullback to centre by All Blacks backline coach Robbie Deans. This proved to be a failure, and was the last time he was ever to be played at centre. In 2005, he was shifted to first five-eighth during the Tri-Nations by All Blacks backline coach to cover for the injured Daniel Carter.
In 2004 season, MacDonald played for Yamaha Jubilo in Japan. He played for Kintetsu Liners in Japan in the 2009–2010 season. In 2010 he announced his immediate retirement from rugby, after failing to recover from a long-term injury. It was also announced in 2010 that MacDonald would become an assistant coach for the Tasman Makos for the 2010 season.