For the second time in Group B, Chornomorets came from behind to beat Dinamo 2-1 - and as in the first meeting, Oleksiy Antonov scored their equaliser.
The striker this time cancelled out Fatos Beqiraj's opener, and substitute Anatoli Didenko headed a last-minute winner as the Ukrainian side benefited from set-pieces.
The win leaves Chornomorets level on points with second-placed PSV Eindhoven and, should they upset the Dutch side in two weeks' time, they will qualify along with surprise group winners Ludogorets.
Dinamo's Alen Halilovic shot over in the seventh minute, while Franck Dja Djedje headed wide for Chornomorets shortly afterwards.
The opening goal arrived in the 20th minute when Ivo Pinto crossed from the right after an excellent run, and Beqiraj finished from 12 yards.
Chornomorets coach Roman Grygorchuk responded with an early substitution, Volodymyr Priyomov replacing Pavel Kutas, but it could not inspire a change as the remainder of the first half passed without incident.
The second half also began with Halilovic firing over, though Beciraj went closer and forced a good save from Dmitri Bezotosny.
Chornomorets' Leo Matos shot wide before Dinamo replaced Halilovic with Junior Fernandes, their goalscorer in September 19's fixture back in Zagreb.
The newcomer shot over from six yards, though, after keeper Oliver Zelenika had maintained his side's lead with a save from Volodymyr Priyomov at the other end.
Bezotosny matched that effort and denied Beqiraj - and his efforts were rewarded with an equaliser less than two minutes later.
Ivan Bobko's near-post corner was flicked on by Markus Berger and Antonov timed his run perfectly to head home.
Oleksiy Gai was unable to head a winner but with around 20 seconds of the 90 minutes remaining, Didenko succeeded where his team-mate had failed.
The goal was similar to the equaliser, Priyomov this time delivering the corner and Pablo Fontanello winning the initial header before Didenko headed low into the net to seal the points.