Substitute Nilmar scored twice, including a last-minute winner, to help Villarreal take a significant step towards the quarter-finals of the Europa League with a 3-2 away victory over Bayer Leverkusen.
The Spaniards had fallen behind to Michal Kadlec's 33rd-minute opener but were level before the break through Giuseppe Rossi and Nilmar nudged the visitors ahead with his first after 70 minutes.
Gonzalo Castro equalised less than two minutes later but as the game headed into injury time Nilmar finished off a surging run with his second to leave his side well in control.
Fredy Guarin fired home from the edge of the box in the 70th minute to give Porto a superb 1-0 win over CSKA Moscow at the Luzhniki Stadium and the advantage heading back to Portugal next week.
There was a major shock for Russian champions and former UEFA Cup winners Zenit St Petersburg who were hammered 3-0 in Holland by FC Twente and need an even bigger miracle.
Luuk de Jong scored twice for the home side, who currently sit second in the Dutch Eredivisie. De Jong's strikes sandwiched the second from former Wigan man Denny Landzaat in the 56th minute.
Benfica gave themselves hopes of progression as they came from behind to beat Paris St Germain 2-1 at the Stadium of Light.
Peguy Luyindula gave the visitors an early lead but Uruguayan Victorio Paez equalised three minutes before the break, and Franco Jara won it for the Portuguese side eight minutes from time.
A 57th-minute goal from Alex earned Spartak Moscow a 1-0 win at Ajax who were guilty of a series of missed chances from Siem de Jong, Demy de Zeeuw and Lorenzo Ebecilio.
Copyright (c) PA Sport 2009, All Rights Reserved.
Do YOU want to write for GiveMeSport? Get started today by signing-up and submitting an article HERE: https://www.givemesport.com/writeforgms