The 21-year-old returns to Newcastle on a permanent basis, agreeing a long-term contract, having enjoyed a successful loan spell last season.
He scored eight goals in 14 matches for the Magpies and his form was recognised with May’s EA SPORTS Player of the Month award.
"I'm buzzing to be here," Willock told the club's official website. "I loved my time here last season and I'm really happy to be back and to be a Newcastle United player.
"Leaving Arsenal is obviously a big step, and I'd like to thank everyone involved with the club for all their support over the years, but this is the right move to the right club at the right time for me."
The Arsenal Academy graduate has made 92 career appearances, scoring 19 goals and providing four assists.
Willock, who has played four times for England Under-21s, is Newcastle's fourth summer arrival.
"I'm absolutely delighted to secure our number one target," Newcastle head coach Steve Bruce added.
"This is a move I know our supporters really wanted us to make, and I know they will join me in giving Joe a very warm welcome back to St. James' Park."
Newcastle begin their 2021/22 campaign at home to West Ham United on Sunday.