The deal includes $35 million guaranteed, with a maximum value of close to $61 million, including incentives, a source said.
Bell, who has been training in South Florida, confirmed he would be joining the Jets in an Instagram post late Tuesday night:
Bell, who shocked the NFL by sitting out the entire 2018 season on the franchise tag after failing to agree on a new contract, officially became a free agent when Steelers general manager Kevin Colbert opted not to place a franchise or transition tag on Bell for the 2019 season.
After gaining nearly 2,000 total yards during the 2017 season, Bell opted to eschew the $14.5 million franchise tag in 2018 -- forgoing about $855,000 per game -- so he could preserve his long-term viability for a big contract in free agency this offseason.
Several other teams were said to be interested in Bell, including the San Francisco 49ers, who made a strong offer and were engaged in a wild tug-of-war with the Jets over the final few hours, sources told ESPN's Jeremy Fowler.
But the Jets emerged as the front-runners late Tuesday. Not wanting to bid against themselves, they held firm on their offer, a source told ESPN's Rich Cimini.
Bell, a two-time All-Pro, had used social media to engage with potential suitors, using emojis to make indirect contact with the Indianapolis Colts and Baltimore Ravens, among others. The Ravens never made him an offer, a source told Schefter.
Bell's average salary per year with the Jets, $13.13 million, would rank second among running backs in the NFL, behind Todd Gurley's $14.37 million average.
The Jets expect Bell to instantly upgrade an offense that finished 29th in total yards and 26th in rushing yards. They also believe he will be the ideal backfield mate for quarterback Sam Darnold because of his dual-threat ability.
In finishing 4-12 last season, which resulted in coach Todd Bowles' ouster, the Jets produced only two 100-yard rushing performances, both by Isaiah Crowell. Crowell set the franchise single-game record with 219 yards in an October home game against the Denver Broncos but wasn't much of a factor for the remainder of the season.
The Jets haven't had a 1,000-yard rusher since Chris Ivory in 2015. They haven't had a runner with Bell's skill set since Curtis Martin, a big free-agent signing, from 1998 to 2005. Bell has said that Martin, a Pro Football Hall of Famer, was his idol as a kid.
This has been a busy free-agency period for the Jets, who have reached agreements to add four players on offense: Bell; wide receivers Jamison Crowder and Josh Bellamy; and guard Kelechi Osemele (via trade). On defense, they finalized a deal with Pro Bowl linebacker C.J. Mosley.
Bell's average of 128.9 total yards per game from 2013 to 2017 is the highest for an NFL back over the first five seasons of a career since the NFL-AFL merger in 1970. During that span, he rushed for 5,336 yards and 35 touchdowns and caught 312 passes for 2,660 yards and another seven scores.
Rocky franchise-tag negotiations over the past two years created distance between Bell and the Steelers. He missed training camp in 2017 when the sides couldn't agree on a contract, and he eventually played on a $12.12 million franchise tag -- rushing for 1,291 yards and nine touchdowns, while catching 85 passes for 655 yards and two more TDs.
After the 2017 season, Bell showed his conviction by turning down a five-year, $70 million offer because of what he called a low true guarantee of $17 million, and he was able to miss games because he was unsigned and thus not bound to the team.
The Steelers, who found success in the backfield last season with Pro Bowl selection James Conner and backup Jaylen Samuels, will receive a 2020 compensatory pick for losing Bell that could be worth as high as a third-round selection.
By sitting out the 2018 season, Bell, a three-time Pro Bowl selection, correctly bet the Steelers wouldn't place a third consecutive franchise tag on him.
Players were surprised when Bell didn't show for Week 1, and his own offensive line ripped him for the absence. Guard Ramon Foster and center Maurkice Pouncey both labeled the move selfish. One veteran player told ESPN anonymously: "He f---ed us." After tensions cooled, many players said they would welcome Bell back.
At one point last season, Bell, who turned 27 in February, planned to play for the Steelers. He told ESPN on Oct. 1, "I'll be fully committed and give you everything I have" upon returning, to "go out there and win a Super Bowl with the Steelers."
But the Steelers explored dealing Bell before the Oct. 30 trade deadline, which might have affected his plans. No trade was possible without Bell's signature.
Throughout this offseason, the Steelers seemed focused more on value than a hope Bell would play in Pittsburgh again. When asked in November what would happen if Bell never returns to the Steelers, coach Mike Tomlin said simply, "So be it."
ESPN's Rich Cimini and Jeremy Fowler contributed to this report.