In a see-saw game, the Danish hosts twice went ahead before the game was level at half-time. However, Shakhtar were dominant after the break to run out 5-2 winners in Copenhagen, going a point clear of Juventus at the top of Group E.
Shakhtar had the first effort on goal, Henrikh Mkhitaryan firing in a right-footed shot from 20 yards. Luis Fernandinho also had a shot from distance which was blocked by Nordsjaelland midfielder Soren Christensen.
Mkhitaryan mis-hit a shot when well-placed as the visitors made the running in the opening stages. However, it was the hosts who took a shock lead in the 24th minute.
Joshua John's cross from the left wing found Morten Nordstrand in the centre of the penalty area and he struck a low shot into the middle of the goal, although their lead lasted just two minutes with Shakhtar equalising in controversial fashion.
The visitors were returning the ball to their opponents following a break for injury but Adriano had failed to read the script and he ran on to the ball with the home defence static and rounded the keeper and scored.
Nordsjaelland regained the lead just four minutes later though, Kasper Lorentzen turning and smashing the ball home off the bar.
Mkhitaryan had two attempts before Shakhtar equalised shortly before half-time through Willian which took a deflection off Fernandinho and into the net.
The second half started in the same fashion as the first ended with Shakhtar going ahead from a magnificent finish from Willian five minutes after the break, firing into the top right-hand corner of the goal from 20 yards.
Adriano then scored his second of the night three minutes later when he drilled home a right-footed shot.
Nicolai Stokholm's effort for Nordsjaelland was blocked by Yaroslav Rakitskiy. Then Lorentzen found himself in the centre of the area but his weak shot went wide.
Shakhtar were all over the hosts and Adriano completed his hat-trick nine minutes from time when he slotted home from close range.