David Harris is staying put. And for big money.

The free-agent linebacker has re-signed with the Jets, the team announced Friday.

advertisement | advertise on newsday

Harris signed a three-year deal worth $21.5 million, a source told Newsday. The deal includes $15 million guaranteed over the first two years of the contract.

Harris, 31, was able to take advantage of a weak middle linebacker market in free agency and the Jets were able to retain one of their productive defenders. He has 884 tackles, 30 sacks, nine forced fumbles and six interceptions in eight years and tied his career high with 5 1/2 sacks in 2014.

"I could not be happier to announce that I have signed a contract extension with the New York Jets," Harris told the Jets' website. "After hearing the plans and vision of coach [Todd] Bowles and [general manager] Mike Maccagnan, there was no doubt I wanted to return, help win a Super Bowl with the Green & White, and retire a Jet. Thanks to everyone in Jets Nation."

The Buffalo Bills, now coached by Rex Ryan, also coveted Harris. And it seemed likely that Ryan would land his former linebacker after the Bills traded Kiko Alonso earlier this week for running back LeSean McCoy. But in the end, the familiarity with the Jets and the money offered by Maccagnan proved to be too good for Harris to pass up.