Johnson, 30, moved to the Cronulla Sharks but they won't be retaining him beyond this year.
Johnson who has played 162 games for the Warriors between 2011-2018 has signed a two-year deal.
He has played 40 games for the Sharks taking his NRL tally to 202.
"While he left to join the Sharks, Shaun's heart has always been with the Vodafone Warriors after starting his career here," said club CEO Cameron George.
"Shaun stands among the top playmakers in the competition and he'll give us a significant boost from next season."