The Catalan side will pay an initial £46.7m, with the remaining £8.5m set to be paid later.
City paid £20m to sign Torres from Valencia in 2020.
The 21-year-old has played 43 games, scoring 16 goals and making four assists.
Torres has missed the majority of the season due to a foot injury.
He has represented City on seven occasions this term, scoring three goals.
He will be Xavi’s first major signing as Barcelona manager.
City signed the young Spaniard due to his impressive stint with Valencia.
However, he never really settled or proved his worth in the Premier League since joining the club.
He has failed to nail down a regular position, which has hampered his progress.
City are still in the market for a new striker, and that would have further diminished Torres’ role in the squad.
The Cityzens are doing the smart thing by moving him on for a sizeable fee.
Making over £30m profit on a player who is not a vital member of the squad is a brilliant bit of business for City.
They will have more funds available now to find a suitable replacement next year.
- Babar Azam wins ICC Men’s ODI Cricketer of the Year award
- FA Cup Fourth Round Predictions and how to watch
- Chelsea reignite interest in Everton star Anthony Gordon
- Carabao Cup semi-finals Preview – Prediction & how to watch
- PSL 8 Live Streaming, TV Channels, Schedule, Squads & Preview
- Chelsea vs Manchester City Preview – Prediction, how to watch & potential line-ups
- Brighton & Hove Albion vs Arsenal Preview – Prediction, how to watch & potential line-ups
- Premier League: Aston Villa vs Liverpool Preview
- Carabao Cup Quarter-Final draw: Manchester United face Charlton, City take on Southampton
- How much money will Arsenal and Chelsea receive in FIFA club payments from World Cup