Haley will be the team's playcaller, a role Jackson has served in his first two years with the Browns.
Haley's contract was not renewed by the Steelers after a 45-42 playoff loss to the Jaguars, much as the Steelers did not renew Bruce Arians' contract when he was replaced by Haley in 2012.
During Haley's time as the Steelers' coordinator, the team averaged the third-most yards per play. In the past four seasons under Haley, the Steelers ranked second in the league in scoring behind only the Patriots.
Haley had received a strong endorsement from Hall of Fame quarterback Kurt Warner; Haley was Arizona's offensive coordinator when the Cardinals lost a dramatic 27-23 game to the Steelers in Super Bowl XLIII on Feb. 1, 2009.
ESPN's Chris Mortensen first reported Sunday that the Browns had engaged in serious talks with Haley.
Jackson had served as the team's offensive coordinator in his two seasons as head coach, overseeing the youngest roster in the league. Under Jackson, the Browns have won one of 32 games, going winless in 2017.
Jackson had Robert Griffin III, then-rookie Cody Kessler, and Josh McCown playing quarterback in 2016. Rookie DeShone Kizer, Kessler and Kevin Hogan saw time at the position in 2017. The Browns finished 31st and 32nd in scoring offense during those seasons.
Jackson said there were occasional times when coordinator duties got in the way of his dealing with the big picture as head coach. With Haley overseeing the offense and Gregg Williams on defense, Jackson now has two experienced NFL coaches and coordinators.
Information from ESPN's Pat McManamon was used in this report.