Flamini, already booked, did not make it to half-time with Coquelin coming on in his place.
Six minutes after the break Elneny fired in a wonderful goal from the edge of the box and Arsenal were to threaten again before Suarez struck in the 65th minute.
Dani Alves lofted a ball into the box and Suarez shaped his body to hit an unstoppable volley past Ospina.
There was still time for a magical Messi dink with two minutes left. Barca were impossibly good.
BARCELONA (4-3-3): Ter-Stegen; Alves, Mascherano, Mathieu, Alba; Rakitic, Busquets, Iniesta; Neymar, Suarez, Messi.
Subs: Bravo, Turan, Bartra, Munir, Sergi Roberto, Vidal, Vermaelen.
ARSENAL (4-2-3-1): Ospina; Bellerin, Koscielny, Gabriel, Monreal; Flamini, Elneny; Iwobi, Ozil, Sanchez; Welbeck.
Subs: Macey, Gibbs, Mertesacker, Giroud, Walcott, Campbell, Coquelin.
Referee: Sergei Karasev (Russia)