After a first-half stalemate, goals from Taras Stepanenko, Jadson and Eduardo put Shakhtar in charge of the group as news came through of a shock defeat for Arsenal at Braga.
However, Shakhtar had begun the night on the backfoot, with goalkeeper Andrei Pyatov required to tip Sasa Ilic's shot over after just 20 seconds.
Moments later, Cordova Cleo fired just wide as Partizan piled on the pressure.
Oleksiy Gai went close for Shakhtar in the 17th minute, forcing Vladimir Stojkovic to tip his shot around the post.
At the other end, Cleo's effort was charged down by Dimitro Chygrynskiy, but the half ended with Shakhtar on top, and Adriano had a chance to open the scoring with a shot from the edge of the area, but the Brazilian fired over.
Shakhtar proved to be far more clinical in the second half, and took the lead in the 52nd minute.
Jadson's corner found its way to Stepanenko who volleyed into the roof of the net from close range.
Ivan Stevanovic sought a quick response for Partizan, but his shot from the edge of the area was easily saved by Pyatov.
And moments later, Shakhtar had added a second to virtually end the hopes of a Partizan side yet to pick up a point in the group stages.
The goal came when Darijo Srna whipped in a cross from the right for Jadson to finish from close range.
Eduardo then came into the fray as a substitute and it took the Croatia international less than 10 minutes to find the net as he got his goal in the 68th minute, meeting a cross from Willian to finish with left-footed shot from close range.
Partizan did not let their heads drop, however, and they continued to push for a consolation goal.
However, Stefan Babovic blazed over from the edge of the area and then Mohamed Medo fired wide as Shakhtar preserved a clean sheet to cap an impressive performance.
The result leaves Shakhtar three points clear at the top of Group H with one match remaining, and Braga would need to beat them by four goals, coupled with a loss for Arsenal against Partizan, to prevent the Ukrainians from going through.