The goal was late, the performance unimpressive but few here minded about that. In heading home Ashley Cole's corner eight minutes from time last night, Thierry Henry gave Arsenal a much-needed victory and kept their fate in their own hands.
Reaching the quarter-finals will not be easy. Assuming Lyon beat the already eliminated Spartak next Wednesday, Arsenal will have to win at Bayern Munich, whose defeat at Lyon last night means the German club are not guaranteed a place in the last eight.
A win was clearly paramount for Arsenal and inside 10 minutes Gilles Grimandi and the impressive Patrick Vieira had headed wide from set pieces as Spartak looked shaky in defending crosses.
Yet for all their possession and almost total early dominance, Arsenal's final ball from open play was too often unforthcoming. When Cole was sent clear on the left by Vieira, his cross was well beyond the reach of Henry, whose pace was clearly worrying Spartak's back line.
To the surprise of many, Henry was partnered up front by Dennis Bergkamp, with Sylvain Wiltord, the scorer of a hat-trick against West Ham on Saturday, left on the bench. The Frenchman may have felt he would have done better with the chance Henry wasted in the 20th minute. From a Robert Pires cross, he kicked fresh air from a few yards out.
Although Spartak looked to be ripe for the picking, being exposed down the flanks time and again by Arsenal's speed, there was an understandable frustration among the crowd as Arsene Wenger's players failed to take advantage.
All Spartak offered in the way of a worthwhile shot in the first half was a long-range effort by the skilful Egor Titov, which David Seaman saved with the minimum of fuss, although on the odd occasion they made Arsenal look edgy in defence. They, too, had sprung a surprise in attack, leaving out the Brazilian Marcao, the scorer of two goals against Arsenal in November.
Of more concern to Wenger was the fact that Spartak's goalkeeper Alexander Filimonov was not being overworked either. Vieira did have a side-foot volley cleared off the line and then headed wide, both efforts from corners, but Arsenal produced precious few strikes on target.
Bergkamp sent a shot too high as half-time approached, with Arsenal looking increasingly short of ideas on how to break down a Spartak side who pulled men behind the ball and began to settle.
Wenger resisted the temptation to make changes at half-time but must have made it clear he expected better. Fredrik Ljungberg's early claim for a penalty when he went down in a challenge with Jerry-Christian Tchuisse was optimistic, perhaps a sign of Arsenal's uncertainty as to how they would make the breakthrough.
With Spartak still looking uncomfortable on set plays, Arsenal frequently threatened whenever Bergkamp, Pires or Cole sent over free-kicks or corners. But a flick by Henry and a header by Tony Adams, saved by Filimonov, was as close as they came.
The sight of Wiltord and Nwanwko Kanu warming up on the touchline was hardly a surprise with Arsenal's final ball continuing to disappoint. Too many crosses or passes missed their target, and all the while Arsenal had to beware the danger of Spartak hitting them on the counterattack.
The nerves which seemed to be afflicting Arsenal were all too apparent when Henry was given a rare sight of goal just past the hour. Ljungberg's miss-hit shot left the Frenchman with a chance he should have taken but he poked his shot wide.
Introducting Nwankwo Kanu for Bergkamp and Wiltord for Pires not long after was greeted with boos as Wenger desperately sought a winner.
ARSENAL: Seaman, Dixon, Adams, Grimandi, Cole, Ljungberg, Vieira, Lauren, Pires (Wiltord 71), Bergkamp (Kanu 71), Henry (Vivas 90). Subs not used: Manninger, Edu, Malz, Luzhny. Goal: Henry 82.
SPARTAK MOSCOW: Filimonov, Kovtun, Tchuisse, Baranov, Bulatov, Irismetov, Kalynychenko, Parfenov, Mitreski, Robson, Titov (Pisarev 54). Subs not used: Levytsky, Khizaneishvili, Marcao, Bougakov.
Referee: R Pedersen (Norway)