Steaua Bucharest 0 Arsenal 1
Alex Hleb and Emmanuel Adebayor were fit to start for Arsene Wenger's side, but Abou Diaby was relegated to the bench.
Steaua thought they had taken the lead in the seventh minute when a Romeo Surdu header beat Manuel Almunia, but the offside flag cut short the celebrations.
Within a minute Cesc Fabregas wasted a superb chance to break the deadlock, firing over from six yards after Hleb's lay-back from the far post.
Just past the 20-minute mark Nicolae Dica drilled a superb drive from 30 yards narrowly wide of Almunia's left-hand post and on the half-hour van Persie played in Adebayor in the left channel, but he turned the ball inside instead of shooting when well-placed.
Four minutes before the interval Gael Clichy's cross from the left was deflected goalwards and Robinson Zapata almost carried the ball over his goal-line, but just kept it out.
The Steaua keeper then made a solid block from Mathieu Flamini's 15-yard drive, as the Gunners ended the half on top.
Eleven minutes into the second period, Zapata somehow blocked Fabregas' free-kick as it drifted over the unmarked Adebayor six yards out from goal.
Soon after, Almunia had to race out of his area to head clear and Kolo Toure covered superbly when Dica lofted the ball back towards the unguarded net.
Nineteen minutes from time Steaua should have taken the lead when substitute Valentin Iacob beat the offside trap, but bent his shot from 15 yards high over the far angle of post and bar with Almunia exposed for once.
The Romanian side were made to pay for that miss when the hard-working Adebayor made space on the left and his cut-back was rifled into the roof of the net from 12 yards by van Persie.
Right at the death Adebayor almost added a clinching second goal as he fired narrowly over the bar after a one-two with Hleb, but Arsenal had done enough to secure a valuable away win.