Neymar teed it up for the Argentine star to slot home before he tucked away a penalty late in the game as the visitors took the lead in the Champions League last-16 tie
Messi and his forward colleagues Neymar and Luis Suarez headed to Emirates Stadium with 91 goals between them this season, but were initially starved of opportunities by an Arsenal side playing with impressive discipline and intensity.
Suarez headed wastefully wide in the final minute of the first half, but Alex Oxlade-Chamberlain scuffed arguably the clearest chance of the opening 45 minutes for Arsene Wenger’s men.
Buoyed by an eye-catching spell before half-time, Barca dominated with menace after the break, although they survived a scare when Marc-Andre ter Stegen saved superbly from Olivier Giroud.
Heeding that warning, Luis Enrique’s men upped their level and Messi beat former Chelsea goalkeeper Petr Cech for the first time in seven matches after 71 minutes.
Suarez then struck the post before Messi won and converted an 83rd-minute penalty to leave Arsenal with the steepest of uphill tasks in the Camp Nou return.
Aaron Ramsey had an early shot blocked by Javier Mascherano, the Arsenal midfielder collecting a return pass from Mesut Ozil following a wonderful backheel.
Full-back Hector Bellerin found himself in the opposition box in the 22nd minute when his deflected attempt fell invitingly for Oxlade-Chamberlain, but the England international could not beat goalkeeper Ter Stegen.
The visitors methodically tightened their grip on possession and saw Arsenal begin to flag on the stroke of half-time – Nacho Monreal clearing Suarez’s prod across goal after Ramsey gave away possession before the Uruguay star nodded wide as Dani Alves volleyed a cross from Sergio Busquet’s raking pass.
Cech made his first save with his right leg in the 49th minute when Andres Iniesta sent Neymar scampering towards goal from the left, while the hosts were forced to bring on Theo Walcott as Oxlade-Chamberlain hobbled off with an apparent calf problem.
Luis Enrique’s men were beginning to turn the screw, but Giroud almost put Arsenal ahead in the 60th minute.
Shortly after an angry altercation with Alves earned him a ticking off from the referee, Giroud rose to steer Monreal’s cross towards the bottom corner and force a fine right-handed stop from Ter Stegen.
Barcelona old-boy Alexis Sanchez then had a shot blocked when his former employers failed to clear a set-piece, with the visitors responding by springing up field in an increasingly stretched contest.
Per Mertesacker stretched out a leg to stop a Messi strike and, with nerves jangling among the home support, Suarez flashed a shot across the face of goal.
The breakthrough came at the end of a clinical Barcelona counter-attack with all three of the main men involved.
Neymar found Suarez on the left, who delayed a return pass to send the Brazil star surging into the Arsenal box, where he picked his pass for Messi to dispatch a simple finish.
Suarez should have added a second, but struck the right post from close range, with Neymar the provider once more.
Arsenal gamely sought an equaliser, with a sliding Ramsey failing to connect with a knockdown from substitute Danny Welbeck, but fellow replacement Mathieu Flamini erred in challenging a sashaying Messi.
Having missed a late first-leg penalty at Manchester City last season, Messi did not repeat the mistake and Arsenal will have to make Champions League history as no side has ever overturned a two-goal deficit from their home match to progress.