Jens Toornstra handed the Dutch side a 56th-minute lead in their Group G clash and the hosts soaked up waves of pressure before El Ahmadi's dipping long-range effort sealed a 2-0 win.
HNK Rijeka triumphed by the same scoreline to eliminate Standard Liege, meaning Sevilla must avoid defeat in their final round-robin match against the Croatian team to progress.
Everton's Belgium international duo Romelu Lukaku and Kevin Mirallas netted on the counter-attack to overturn a largely impressive Wolfsburg 2-0 at the Volkswagen Arena and seal top spot in Group H.
Lille drew 1-1 with bottom side Krasnodar, and Wolfsburg will join Everton in the round of 32 if they can avoid defeat to the Ligue 1 outfit next time out.
Progress was not so emphatic for another of the tournament's fancied teams, Napoli, but a goalless draw at Sparta Prague did the job in Group I.
The top two are level on 10 points but a brace from Yuya Kubo ensured Young Boys Bern beat Slovan Bratislava 3-1 to move to nine, setting up a final week shootout against Sparta.
Inter made returning coach Roberto Mancini sweat for a 50th birthday win as they came from a goal down to beat Dnipro 2-1 and nail down first place in Group F.
The visitors moved ahead through Ruslan Rotan and Yevhen Konoplyanka missed a penalty two minutes before Zdravko Kuzmanovic's equaliser.
Inter skipper Andrea Ranocchia was sent off early in the second half but Pablo Daniel Osvaldo netted a 50th-minute winner for the Serie A team.
A 1-1 draw between St Etienne and Qarabag means the three remaining sides are in contention to qualify alongside Inter.
Dinamo Moscow and Fiorentina were already through from Groups E and K respectively and continued their fine form with 2-1 wins over Panathinakos and Guingamp.
A double inside the last eight minutes by Stefanos Athanasiadis gave PAOK a 2-0 win at Dinamo Minsk and means they will face Guingamp locked together on seven points apiece chasing the spot behind Fiorentina.
Elsewhere in Group E, inclement weather remarkably brought an early end to the game between Estoril and PSV in Portugal with the hosts 3-2 ahead at the interval. That match will resume on Friday.
Besiktas will host Tottenham Hotspur with both teams having qualified from Group C.
First place is still up for grabs after Tottenham beat Partizan 1-0 on a bizarre night at White Hart Lane where three first-half pitch invaders forced the teams to leave the field. Benjamin Stambouli got the winner after the action resumed.
Besiktas must beat Tottenham to take top spot having let a two-goal lead slip in a 2-2 draw at Asteras.
Borussia Monchengladbach shared the same scoreline with Villarreal in Group A - Granit Xhaka's equaliser for the Bundesliga team standing as the highlight of a pulsating contest.
Borussia retain a one-point lead over their latest opponents, although FC Zurich remain in the hunt thanks to a 3-1 win against Apollon.
Alan's early brace set Group D winners Salzburg on their way to a 3-1 triumph at Celtic, although their opponents will join them in the last 32 after Dinamo Zagreb lost 1-0 to Astra.
Thomas Enevoldsen scored the only goal as Aalborg overcame Steaua Bucharest to go two points ahead of their Romanian visitors in the second Group J qualifying spot.
Steaua face group Dinamo Kiev in their closing game - Jeremain Lens and substitute Miguel Veloso having sent the Ukranian giants through with a routine 2-0 home win against Rio Ave.
It was a night to remember for Oleksandr Shovkovskiy, who made a record-breaking 582nd appearance for the club.
Trabzonspor joined Legia Warsaw in progressing from Group L by beating Metalist Kharkiv 3-1.
That result meant an end to Lokeren's involvement, despite Hans Vanaken's early strike sealing a 1-0 win that saw the Belgian outfit end Legia's 100 per cent record.
A dramatic winner deep into stoppage time from Macoumba Kandji gave HJK Helsinki a 2-1 win over Copenhagen to keep Group B wide open.
The Finnish team will now travel to leaders Brugge, who are three points better off thanks to a stunning individual performance by goalkeeper Matthew Ryan in a goalless draw against second-placed Torino.
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1