Ajax face a fight to qualify for the Champions League group stage after they clung on for a tense 0-0 draw in searing heat away to Apoel Nicosia in the first leg of their play-off tie.

Last year’s semi-finalists have managed to keep the bulk of their team together, with Matthijs de Ligt and Frenkie de Jong the only major departures, and fielded seven of the players who started the second leg of their dramatic semi-final against Tottenham in May.

Despite a bright start, they were indebted to their goalkeeper, André Onana, and played the last 10 minutes with 10 men after Noussair Mazraoui was sent off. Musa Suleiman caused Ajax all sorts of problems and went agonisingly close to giving the Cypriot side a first-half lead after he cut in from the right, played a one-two and spun into the box but sent his shot wide of the far post. Shortly afterwards, Nicholas Ioannou saw an effort deflected for a corner.

Apoel increased the pressure after the break as Onana parried a powerful Lucas Souza shot before another effort was cleared off the line and an Andrija Pavlovic header bounced off the crossbar. Jordanian Suleiman volleyed into the side-netting from close range and Onana then made a brilliant one-handed save to deny Souza again.

Mazraoui was given a second yellow card for a reckless sliding tackle but Ajax survived with their goal intact.

Slavia Prague won 1-0 at Cluj thanks to a spectacular Lukas Masopust goal. Slavia broke the deadlock in Romania with a remarkable goal when Nicolae Stanciu floated a corner to the edge of the penalty area for Masopust to volley effortlessly into the net. The Czech side are on target to reach the group stage of the Champions league for the first time in 12 years but will be wary of a Cluj side who won 4-3 away at Celtic in the previous round to send the Sottish champions crashing out.

Club Brugge also won by a single goal at LASK Linz, an early penalty from Hans Vanaken giving the Belgians the edge against the Austrian outsiders bidding to qualify for the group stage for the first time. Loïs Openda went down under a challenge from the Linz captain, Gernot Trauner, and the referee pointed to the spot, finally confirming his decision two minutes later after a lengthy VAR review. Brugge survived a let-off when Simon Deli nearly turned the ball into his own net but they could easily have added to their tally in the second half.