Eddie Nketiah gave away a penalty and scored the winner as Arsenal got their Europa League campaign off to a winning start at Zurich on Thursday night.
Brazilian youngster Marquinhos netted his first goal for the Gunners by converting Nketiah's cross from the left before the English striker brought down Fidan Aliti, allowing Mirlind Kryeziu to grab an equaliser on the stroke of half time.
However, the all-action Nketiah would make amends just after the hour mark, heading in Marquinhos' cross at the back post to earn the visitors all three points in Group A.
Arsenal enjoyed mountains of possession in Switzerland and their rapid front three of Marquinhos, Nketiah and Gabriel Martinelli stretched the hosts' defence during the early phases.
Their pressure eventually told when Nketiah skipped away down the left and crossed for Marquinhos to finish off a fast breakaway move.
Fabio Vieira and Granit Xhaka both looked sharp in midfield, the former on his first Arsenal start, but it was a self-inflicted wound which allowed Zurich back into the contest.
Arsenal failed to clear a cross and Nketiah was in the wrong place at the wrong time, getting tangled up with Aliti to allow Kryeziu to beat Matt Turner from the penalty spot.
That strike didn't deter the visitors, who continued to look dangerous at the start of the second half as attempts from Martinelli and Nketiah were blocked or sailed adrift.
However, Mikel Arteta's side grabbed the winner they deserved in the 62nd minute as Nketiah and Marquinhos again combined. The Brazilian whipped a ball towards the back post where Nketiah was waiting, and the 23-year-old rose highest at the back post to head in.
Arsenal player ratings vs Zurich - Europa League
1. Arsenal XI (4-3-3)
GK: Matt Turner - 6/10 - Just the two saves to make throughout the night. One wobbly moment with the ball at his feet. Sent the wrong way for the penalty.
RB: Takehiro Tomiyasu - 7/10 - Advanced up the right and picked up some dangerous positions. Elegant and comfortable with the ball.
CB: Rob Holding - 5/10 - Shaky throughout, giving away one especially poor free kick near full time. One crucial clearance.
CB: Gabriel - 5/10 - Played his goalkeeper into trouble early on. Not his best performance but got the job done. Made a couple of interceptions.
LB: Kieran Tierney - 7/10 - Got forward well, registering a couple of shots on target, and didn't have too much difficulty in defence.
CM: Fabio Vieira - 8/10 - An exciting start. Played the ball through before Marquinhos' opener and enjoyed some eye-catching twists and turns to open up space.
CM: Albert Sambi Lokonga - 6/10 - Great pass for Vieira to run through and shoot over. Lost control at times.
CM: Granit Xhaka - 7/10 - Forced a good save with a shot from the edge of the box. Dominant performance helped Arsenal run the midfield.
RW: Marquinhos - 9/10 - Scored his first Arsenal goal, cooly lifting his finish into the top corner. Returned the favour to Nketiah later with a great cross to the back stick.
ST: Eddie Nketiah - 8/10 - Great run out wide to square for Marquinhos. Clumsy hack in the wrong box gave Zurich their penalty and equaliser. Header at the back post eventually earned also all three points.
LW: Gabriel Martinelli - 7/10 - Looked electric with the ball and could have been involved in the goals on another day.
SUB: Oleksandr Zinchenko (69' for Tierney) - 6/10
SUB: Bukayo Saka (69' for Marquinhos) - 6/10
SUB: Martin Odegaard (69' for Vieira) - 6/10
SUB: Gabriel Jesus (78' for Nketiah) - N/A
Manager: Mikel Arteta - 7/10 - Selected a strong core and exciting frontline which eventually paid off. Wouldn't have liked the penalty but a good start to the Europa League secured.