Arsenal resisted the challenge of Dinamo Zagreb to book their place in the Champions League group stages.
Van Persie (left) was an influential force for Arsenal
The visitors went ahead when Eduardo reduced Dinamo's deficit to 3-1 when he fired in after Kolo Toure's attempted clearance fell into his path.
Robin van Persie almost ended Dinamo's faint hopes only to see a shot steered on to the woodwork and to safety.
But Freddie Ljungberg's late header and Mathieu Flamini's tap-in saw Arsenal to victory and a place in Thursday's draw.
There was an air of co-ordinated adventure about Dinamo's play early on as they looked to engineer an unlikely comeback in the second leg of the third round qualifier.
And the Croatian side were rewarded with an early goal to give them hope.
Eduardo thrust in from the left and played the ball wide to Etto before continuing his run into the Arsenal box.
Etto slipped the ball back to his fellow Brazilian and, after Toure could only steer his clearance into the run of Eduardo, the Dinamo striker pounced to slot in an angled shot.
Arsenal heeded the warning and exerted some pressure to go along with their superior possession and they were only denied by the frame of the goal.
Eduardo (left) is congratulated after his early goal for Dinamo
Dinamo keeper Ivan Turina missed a Cesc Fabregas cross and Dutch forward Van Persie seemed set to score.
But his shot was blocked by the outstretched leg of Mario Cvitanovic before the ball cannoned off the underside of the bar and to safety.
The influential Van Persie then produced a sublime piece of skill and had an acute-angled strike saved.
Ljungberg had an excellent chance after Adebayor's knockdown but placed his effort too close to the legs of grateful keeper Turina.
But Dinamo remained a threat and Luca Modric went close with a shot across goal and a deflected Etto strike just before half-time.
Arsenal striker Emanuel Adebayor should have put the home side beyond reach after 53 minutes but blazed high from 12 yards.
The game started to open up as the Croatian side became stretched in their attempts to score again and send a ripple of anxiety around the Emirates Stadium.
Arsenal could not take advantage of the extra space in attack and manager Arsene Wenger introduced star striker Thierry Henry.
Henry's arrival gave his side more of a threat up front and Ljungberg headed in a Van Persie cross to mark his first game as captain with a goal.
Theo Walcott then set up his second goal in as many games as he crossed for Flamini to give the Gunners a win in their first European game at their new stadium.
Arsenal: Almunia, Eboue, Toure, Djourou, Hoyte, Hleb (Silva 70), Fabregas, Flamini, Ljungberg, Van Persie (Walcott 81), Adebayor (Henry 65).
Subs Not Used: Poom, Song Billong, Cygan, Aliadiere.
Booked: Flamini, Djourou, Walcott.
Goals: Ljungberg 77, Flamini 90.
Dinamo Zagreb: Turina, Corluka, Cvitanovic, Mamic, Drpic, Etto (Tomic 90), Vukojevic (Ljubojevic 89), Agic (Buljat 69), Carlos, Modric, Eduardo.
Subs Not Used: Loncaric, Pandev, Costa.
Booked: Agic, Drpic, Buljat.
Goals: Eduardo 12.
Ref: Bertrand Layec (France).