Arsenal lost for the first time since February as Barcelona’s Asisat Oshoala haunted her old club.
The two sides were battling in their Women’s Champions League Group C opener.
Mariona Caldentey scored the rebound from an Oshoala shot for the first.
Nigerian Oshoala ran down the right wing and squared it for Alexia Putellas to slot home.
She added a third herself from a sublime Mariona through ball.
Frida Maanum bundled in a consolation for the visitors before Lieke Martens chipped in the fourth for the holders.
Putellas should have made it 5-1 deep into stoppage time but her penalty was saved by Manuela Zinsberger.
Oshoala, 26, played for Arsenal from March 2016 to February 2017.
She helped them to win the FA Cup, and did not celebrate her goal at the Johan Cruyff Stadium.
It took Arsenal 55 minutes to have a shot, with Vivianne Miedema’s weak effort rolling straight to goalkeeper Sandra Panos.
The Gunners did create more chances as the game wore on with Nikita Parris having a shot cleared off the line shortly before Maanum struck.
Jonas Eidevall’s Gunners were one of the form teams in Europe coming into the game.
They had eight wins from eight games in all competitions this season, scoring at least three in each match.
Arsenal were unbeaten in 20 games in all competitions, going back to February.
Unfortunately for them, Barcelona had also won all their matches this season – five in the league.
This was the first time they hit fewer than five goals in a game.
European champions Barca showed why they will be tough to stop this season.
Next in the Champions League, the Gunners host German side Hoffenheim on Thursday, 14 October, with Barcelona going to Denmark to face Koge.
Hoffenheim beat Koge 5-0 in Tuesday’s other Group C game.