The 31-year-old is set to complete his move following a medical over the coming days, in a deal understood to be worth in the region of €20 million (£18m/$23m).
While Inter and Milan were also offered his services, Barcelona have now closed the deal for Chilean star.
"FC Barcelona and FC Bayern Munich have reached an agreement for the transfer of player Arturo Vidal," read a statement on Barca's official website.
"The agreement with Arturo Vidal is for the next three seasons and is pending medical review that the player will pass in the coming days.
"FC Barcelona will soon inform of the arrival of the player and the agenda of the presentation."
Vidal had reportedly already agreed to return to Serie A with Inter but Goal reported this week that his agent, Fernando Felicevich, offered him to Barca as well.
The Blaugrana swooped to land the Chile international to replace Paulinho, who returned to Chinese Super League side Guangzhou Evergrande on loan after a single season at Camp Nou.
Ernesto Valverde signalled his intention to add to his midfield options after the Brazilian's departure, with club great Andres Iniesta having also departed for Asia by signing for Japanese side Vissel Kobe.
Arthur's move from Gremio was fast-tracked and Barca were reportedly interested in signing Adrien Rabiot from Paris Saint-Germain.
Injuries restricted Vidal to 17 Bundesliga starts in the 2017-18 season and he was linked with a January move to Chelsea, despite indicating he was willing to extend a Bayern contract that was set to expire at the end of this season.
"Thanks to Bayern and all the fans. I really enjoyed my time in Munich," Vidal told Bayern's website as his departure was announced. "I would like to thank the club for giving me another chance to take on a new challenge in Barcelona."