Willey had been linked with a number of top-flight counties, but Yorkshire, the current County Championship Division One champions, have won the race for his signature.
The 25-year-old, who had one year left on his Northants deal, will move to Headingley on a three-year contract.
It was reported that he would be allowed to leave the County Ground should a top-flight club pay £50,000 for his services.
And Northampton-born Willey will now hope to establish himself at the highest level, having recently impressed in four one-day appearances for England.
Yorkshire’s director of cricket Martyn Moxon said: “We are delighted that David has agreed to join us.
“He is a highly talented all-round cricketer and will be a great addition to our current squad.
“He will play a big part in helping us be competitive in all forms of the game and hopefully we can play our part in helping him realise his ambition of playing Test cricket for England.”