Real Madrid ensured they will go through to the Champions League knock-out stages as Group B winners with a 1-0 win over Basle.
Cristiano Ronaldo was on target at St Jakob-Park with his first-half strike his 71st in the Champions League, taking him level with los Blancos legend Raul.
However, he remains three goals behind Lionel Messi in the all-time standings.
Liverpool kept alive their hopes of following Madrid, but had to settle for a draw against Ludogorets as they conceded a late equaliser in Bulgaria.
Simon Mignolet’s third-minute blunder gifted the hosts a lead through Dani Abalo, but Rickie Lambert’s first Champions League goal brought Liverpool level before Jordan Henderson fired them in front eight minutes before the break.
However, Georgi Terziev nicked an equaliser to secure a 2-2 draw at the death, leaving Liverpool needing victory over Basle at Anfield in their final group game.
Lucas Ocampos’ tap-in guided Monaco to a 1-0 Champions League victory at Bayer Leverkusen to blow Group C wide open.
The Argentine winger latched onto Nabil Dirar’s cross to cap a fine counter-attack that allowed Monaco to frustrate the hosts, who dominated territory and possession.
Ocampos’ winning goal leaves Leverkusen top of the Group C standings on nine points, but Monaco now only trail by one: so either side can still top the pool with one round of fixtures remaining.
Zenit are also still in the picture, two points from the summit after captain Danny scored in a 1-0 win over Benfica.
Former Porto striker Hulk laid on the perfect ball for Portugal midfielder Danny to blast the winner and dump compatriots Benfica out of Europe.
Mario Mandzukic’s hat-trick against Olympiacos saw Atletico Madrid qualify in emphatic style for the last 16.
A dominant first half saw Atletico 2-0 up thanks to Raul Garcia’s shambolic opener and Mandzukic’s goal shortly before half-time.
Two second-half headers from Mandzukic led to a 4-0 scoreline which was no less than the Spaniards deserved and left them needing only a draw with Juventus in two weeks’ time to top the group.
Juve ended their away day blues to reignite their own chances of progressing from Group A with a 2-0 win over Malmo.
Defeats on the road against Atletico and Olympiacos had left Juve in third place prior to kick-off, but second-half goals from Fernando Llorente and Carlos Tevez gave the Italians a crucial win.
Tevez’s strike angered Malmo, with Erik Johansson earning seeing red for dissent, while two of his team-mates were also booked amid the protests.
Arsenal put their recent troubles behind them to beat Borussia Dortmund 2-0 at the Emirates Stadium and qualify for the knock-out stages.
The Gunners have endured their worst start to a domestic campaign for 30 years, and are eighth in the Barclays Premier League following Saturday’s 2-1 home defeat by Manchester United.
However, Arsene Wenger’s men produced the perfect response as Yaya Sanogo scored inside two minutes, with Alexis Sanchez clipping home a sublime effort at the start of the second half to inflict a first European defeat on the Group D leaders – who could still be caught for top spot should results go the Gunners’ way on matchday six.
Anderlecht picked up their first win in the group with victory over 10-man Galatasaray, but exited the competition all the same after Arsenal’s win.
Anderlecht came into the match third in Group D, one point better off than their opponents, and although Chancel Mbemba bagged a brace in a 2-0 win, it was not enough to keep them in the competition.