Walsh, who is leaving Manchester City, will reportedly be paid around £400,000. The fee is the highest ever for a female player, topping Pernille Harder’s £250,000 deal with Chelsea from 2020.
Walsh’s new contract runs until 30 June 2025, according to a release from Barcelona.
Currently participating in World Cup qualifiers for Team England, she’ll join the Barcelona squad after the international break ends in coming days.
Walsh has been playing for Manchester City for the past eight years, helping them to four leagues and three cups in that time.
“Thank you City 💙,” she wrote in a post on Instagram.
As a member of the English team, Walsh has been a standout, helping the squad to the recent European Championships title. She was named MVP of the final match against Germany in that tournament.
She was also part of the Great Britain team that competed at last summer’s Tokyo 2020 Olympic Games.