The 25-year-old has signed on for a season after being released by Blackburn.
St Johnstone and Kilmarnock were also in the hunt for the former Dundee United forward, who returned to Tannadice on loan in the first half of last season, which he finished with Blackpool.
Dons manager Derek McInnes told the club's official website: "I'm delighted to have secured the signature of David. He's a striker who has a real capability and it's up to us as a staff and him as a player to get the very best from him.
"He joins a squad of good players and he wants to be part of a successful season here at Pittodrie."
Goodwillie signed for Blackburn in a £2million deal in August 2011, with United potentially due another £800,000 in add-ons.
But he failed to live up to his price tag at Ewood Park, scoring five goals in 34 appearances, the last of which came on the final day of 2012/13 season.
Goodwillie, who also had a loan spell with Crystal Palace, hit six goals with United last season, but struggled for a regular starting spot, and he then struck three times with Blackpool.
He had one year remaining on his contract, but agreed to terminate it last month and was recently training with St Johnstone.
McInnes moved for Goodwillie after losing out to Rangers in a bid to sign Kris Boyd and he will provide competition for the likes of Adam Rooney and Nial McGinn following the departures of Calvin Zola and Scott Vernon.