The Chile international was widely reported to be nearing a move to Italian side Inter Milan but has instead opted to play in La Liga for Spanish champions Barcelona.
In a statement on the club’s website, he said: “Happy. To be honest, I am very happy. I am looking forward to starting training with my team-mates, to wearing such a famous shirt, and to doing important things here.
“It is a dream. I hope to achieve my objectives. I am here to win all the trophies available and I will give everything on the pitch to achieve this.
“Winning everything. During the three-year contract, I hope we can win everything we play for.
“I am excited to play with Messi, Suárez, Sergio Busquets… they are all great players.”
The 31-year-old will fill the void of the departing Brazilian box-to-box midfielder Paulinho who left the Nou Camp to rejoin Chinese side Guangzhou Evergrande on loan in July.
Arturo Vidal joined Bayern Munich from Italian side Juventus in 2015 for a fee in the region of £32m, signed by former Barcelona boss Pep Guardiola.
During his time in Bavaria, Vidal won three consecutive Bundesliga titles and the DFB Pokal in his opening season