The fee the Spanish giants will pay for the Belgian international has not been disclosed but Vermaelen has already passed a medical and agreed terms over a five-year contract.
Vermaelen moved to Arsenal from Ajax in 2009 and has made a total of 150 appearances for Arsene Wenger’s side, scoring 15 goals in the process.
The 28-year-old captained both clubs on a number of occasions and has also skippered Belgium, for whom he has made 47 appearances.
Vermaelen started 33 Premier League games for Arsenal in his first season but was restricted to just seven league appearances last term with Wenger preferring the centre-back pairing of Per Mertesacker and Laurent Koscielny.
Barcelona have been looking to bolster their defensive options after Carles Puyol retired earlier this summer and beat off competition from Manchester United for Vermaelen's signature.
United claimed to have ended their interest in the defender on Friday after rejecting Arsenal’s demands for a player – thought to be Chris Smalling - as part of any deal for Vermaelen.