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.
- Pro Picks: Analyzing and Applying NBA Tips from the Ladbrokes Blog
- Tottenham predicted line-up vs Aston Villa, Bentancur and Udogie to start
- Preview: Tottenham Hotspur vs Aston Villa – Prediction, Team News, Line-ups
- Preview: Burnley vs West Ham United – Prediction, Team News, Line-ups
- Preview: Everton vs Manchester United – Prediction, Team News, Line-ups
- Preview: Newcastle United vs Chelsea – Prediction, Team News, Line-ups
- Preview: Manchester City vs Liverpool – Prediction, Team News, Line-ups
- Chelsea’s next five matches after the international break
- Chelsea injury news: Nkunku, Lavia and James latest update ahead of Newcastle clash
- ICC World Cup 2023: Australia beat India to lift record 6th title