Let's drag you through groups E to H, groups A to D having played Wednesday (all results below). Everything's wrapped up in Group E, with Wolfsburg beating Portsmouth, 3-2, after being 1-2 down, and Braga taking the road win at Dutch side Heerenveen (2-1). With one round of games to go, Portsmouth and Heerenveen are out of it, with AC Milan (which did not play Thursday) having already qualified.
It's a similar picture in Group F, with Villa, Hamburg and Ajax all through after Hamburg won, 2-0, at Slavia Prague. The Germans took a first-half lead through Ivica Olic, then sat back and stymied the home side until scoring its second on a 93rd-minute penalty from Mladen Petric. That result helped Villa through in spite of its loss, although Guzan won't have been pleased to concede a strange goal straight from a Vladimir Leitner cross, followed a few minutes later by a second goal from Peter Styvar that he could do nothing about. Nathan Delfouneso, 17, pulled one back on his Villa debut, but the English squad couldn't level, despite Zilina having Leitner red-carded with 11 minutes left.
Things will be marginally more interesting in Group G on Game Day 5 in a fortnight, where despite a brace of dreary 1-1 ties that saw Valencia qualify behind St. Etienne, which had the night off, a "final" of sorts has been set up between Club Brugge and FC Copenhagen. If Copenhagen wins that last game at Brugge, it qualifies, but a tie will suffice for the Belgian team. That could be the likely result, given that the two winless sides have thrillingly tied five out of the six games they've played so far. Rosenborg is out after Mikael Antonsson's late equalizer for Copenhagen squared Thursday's game in the Danish capital.
Way down in Group H, French club Nancy, the Poles of Lech Poznan, and Spanish team Deportivo will scrap for the group's last two qualifying spots on the final game day. CSKA Moscow, already qualified, finished with a 100 perfect record after beating Nancy 4-3 in France on a hat trick from Wagner Love, his third and game-winning goal coming just two minutes from time. The other game finished 1-1, La Coruna scoring early at Poznan through Diego Colotto, with the home team equalizing before the interval through Peruvian striker Hernan Retifo. The winless Poles must take three points from their final game at pointless Feyenoord to have a chance of qualifying and overtake Nancy or La Coruna, both two points ahead of Poznan, and who clash in Spain.
Wolfsburg 3 (Dzeko, Gentner, Misimovic) Portsmouth 2 (Defoe Mvuemba)
Heerenveen 1 (Sibon) Braga 2 (Renteria, Luis Aguiar)
NOT PLAYING: AC Milan
Standings: Wolfsburg (9 points), AC Milan (7), Braga (6), Portsmouth (1), Heerenveen (0)
Aston Villa 1 (Delfouneso) MSK Zilina 2 (Leitner, Styvar)
Slavia Prague 0 Hamburg 2 (Olic, Petric PK)
NOT PLAYING: Ajax Amsterdam
Standings: Hamburg (6 points), Aston Villa (6), Ajax (6), MSK Zilina (4), Slavia Prague (1)
Valencia 1 (Zigic) Club Brugge 1 (Alcaraz)
FC Copenhagen 1 (Antonsson) Rosenborg 1 (Iversen)
NOT PLAYING: St Etienne
Standings: St Etienne (7 points), Valencia (5), Club Brugge (3), FC Copenhagen (2), Rosenborg (2)
Nancy 3 (Zerka, Feret, Camerling) CSKA Moscow 4 (Wagner Love 3, Ramon)
Lech Poznan 1 (Rengifo) Deportivo La Coruna 1 (Colotto)
NOT PLAYING: Feyenoord
Standings: CSKA Moscow (12 points), Nancy (4), Deportivo La Coruna (4), Lech Poznan (2), Feyenoord (0)
Manchester City 0 Paris St. Germain 0
FC Twente 2 (Wieleart, Perez) Schalke 1 (Asamoah)
DID NOT PLAY: Racing Santander
Standings: Manchester City (7 points), FC Twente (6), Schalke 04 (4), Racing Santander (2), Paris St. Germain (2),
Hertha Berlin 0 Galatasaray 1 (Baros PK)
Metalist Kharkov 1 (Edmar) Olympiakos 0
DID NOT PLAY: Benfica
Standings: Galatasaray (9 points), Metalist Kharkov (7), Olympiakos (3), Hertha Berlin (2), Benfica (1)
Standard Liege 3 (De Camargo, Onyewu, Jovanovic) Sampdoria 0
Sevilla 3 (Luis Fabiano 2, 1 PK, Renato) Partizan Belgrade 0
DID NOT PLAY: VfB Stuttgart
Standings: Standard Liege (9 points), Sevilla (6), Sampdoria (4), VfB Stuttgart (4), Partizan Belgrade (0)
Udinese 2 (Quagliarella, Obodo) Dinamo Zagreb 1 (Biscan)
Spartak Moscow (Kovalchuk) 1 NEC 2 (van Beukering, Schone)
DID NOT PLAY: Tottenham
Standings: Udinese (9 points), Tottenham (6), Dinamo Zagreb (3), Spartak Moscow (3), NEC (3)
Format: Top three teams from each group qualify for next knockout round, together with the eight third-placed teams from the Champions League group phase.