Bournemouth are into the fourth round of the Capital One Cup after beating Preston North End in a penalty shootout.
Marc Pugh's 96th-minute goal looked to have put the Cherries through, but a 118th-minute Daniel Johnson spot kick forced a shootout before successive saves from Adam Federici saw the Dorset side into the last 16.
Both sides showed early attacking intent, with Will Keane and Johnson missing the target for the hosts, while Junior Stanislas fired a shot across the face of goal for Eddie Howe's side, who beat Hartlepool United in the last round.
However, it was Bournemouth who edged in front on 23 minutes when MacDonald's close-range header found a way past Jordan Pickford.
Stevie May tried to bring Preston level before the interval, but fired wide of Federici's goal.
North End started the second period brightly, with Keane and Tom Clarke going close before Bailey Wright drew a save out of Federici as Simon Grayson's men looked to get back into the tie.
Before the hour mark, Stanislas was denied at point-blank range by Pickford as Bournemouth went in search of a second goal to kill off the game.
The Cherries looked to be heading through, but a late equaliser from substitute Jordan Hugill kept the Lilywhites's hopes of marking the fourth round alive.
Bournemouth restored their lead six minutes into extra time as Pugh found the bottom corner, moments after Simon Davies was denied by Pickford.
However, Preston were awarded a penalty in the dying moments for Pugh's handball. Johnson stepped up to stroke the ball into the bottom corner to force a penalty shootout.
North End's hopes were short lived as Federici saved spot kicks from Alan Browne, Hugill and Johnson in the shootout to secure the Cherries' progress.