The hosts will be the happier of the two sides after not conceding, though the Royal Blues will still fancy their chances.
Even though the game finished nil-nil, there was attacking intent from both sides at the start. Taison and Marlos were causing problems from the get-go, constantly driving at Junior Caicara and Sead Kolasinac. They pair were able to repel their early advances, however.
It was the visitors who would have the first major chance of the match, as Younes Belhanda and Eric Maxim Choupo-Moting exchanged passes in Shakhtar territory. The latter managed to shake off several defenders but Dario Srna managed to clear the ball off the line.
Srna was quickly up the other end and a poor clearance from Max Meyer allowed the Croat to cross for Olexandr Gladkiy, only to see Ralf Fährmann produce a superb reflex save.
While the Schalke stopper was collecting praise from his team-mates, Andriy Pyatov was barking orders at his back-ling after leaving Roman Neustädter free in the box. The defender headed over from Johannes Geis' corner, much to the Ukrainians' relief.
Schalke superior in the second half
From the get-go in the second period, Leroy Sané had a superb chance to give Schalke the lead immediately after the restart but managed to head just past the post. Pyatov was also in the right place at the right time to hold a powerful, close range drive from Leon Goretzka.
André Breitenreiter's men continued to push forward and were denied a goal by the referee's when Joel Matip thought he had opened the scoring. His header was ruled out for a foul in the build-up; after that, Pyatov turned into the star of the show. He produced a stunning save to deny Belhanda's top corner bound effort.
The two teams exchanged late attempts, with Schalke managing to pass up an opportunity from an indirect free-kick six yards out. Neither side could find a late, late winner and so the tie heads to Gelsenkirchen and the Veltins-Arena to decide who will advance to the last sixteen.