The 27-year-old has made 99 appearances for Bournemouth since joining the club from Swansea in 2011.
MacDonald’s previous deal was due to expire at the end of the season.
“It’s come at the right time,” MacDonald told Bournemouth’s official website.
“The club is going in the right direction, in the Premier League and it’s a great squad that we have got here.
“To have that extra year and stay in around this squad can only benefit me.
“The contract has been ongoing for a little while so I have had time to think about it and it’s definitely the right thing to do.”