The 23-year-old scored three tries as Warren Gatlands team clinched the 2019 Six Nations Grand Slam.
If he had stayed in England, Adams would have fallen foul of a rule which stops players with fewer than 60 caps based outside Wales being selected.
The rule had not previously applied to Adams because he was not offered a contract in Wales before his move to Worcester from Llanelli RFC in 2015.
He is among four Wales players shortlisted for the Six Nations player of the tournament award, along with Alun Wyn Jones, Hadleigh Parkes and Liam Williams.
“It is great to be returning to Wales and I cannot wait to link up with Cardiff Blues next season,” said Adams.
“I will always be grateful to Worcester Warriors for giving me the opportunity to become a professional player and I have loved my time at Sixways.
“But to play for Wales I need to play in Wales and Cardiff Blues is the best fit for me. Im really looking forward to the next chapter at Cardiff Arms Park.”
He was the Aviva Premierships joint-top scorer in 2017-18 with 13 tries and 17 in all competitions and scooped both the Warriors Young Player and Player of the Year awards.
“In every Test hes played for Wales hes been outstanding,” Worcester director of rugby Alan Solomons told BBC Sport.
“Josh is an outstanding team man and a great bloke. We will be really sorry to see him go, but understand that, as a proud Welshman, he wants to represent his country.
“We wish him all the very best and know that he will be giving everything right through to the end of the season.”
“Its an exciting signing for the region and demonstrates our strong rugby ambition going forward,” he said.
The 23-year-old scored three tries during Wales Six Nations Grand Slam-winning campaign and has been nominated for player of the tournament.
Adams joined Worcester in 2015 after he was released by the Scarlets and has scored 34 tries in 59 appearances for the Warriors.