Brazilian-born Marlos scored twice either side of half-time at Metalist Stadium to help Shakhtar overturn an early deficit and claim a third victory in four matches.
Beaten 2-1 at home in the reverse fixture, Feyenoord gained a much-needed confidence boost when Nicolai Jorgensen headed them into a 12th-minute lead.
But the Ukrainian champions instantly hit back in a stunning three-minute surge as Facundo Ferreyra poked in an immediate equaliser before Marlos completed the chaotic comeback in just the 17th minute.
The only remaining surprise was that it took Shakhtar until the 68th minute to finish off the Eredivisie outfit, Marlos skilfully putting the seal on an 11th consecutive Champions League defeat for the Rotterdam club, including qualifiers, a run that stretches back to 2002.
The contrast could hardly be greater for Paulo Fonseca’s side, who are six points clear of third-placed Napoli, whom they face next, with only two matchdays remaining.
— FC SHAKHTAR ENGLISH (@FCShakhtar_eng) November 1, 2017
Feyenoord took first advantage of a chaotic opening when Jorgensen nodded in Steve Berghuis’ superb curling cross from the right.
Their joy lasted less than two minutes, though, as Ferreyra supplied an immediate response, the Argentine forward poking home at the second attempt after Brad Jones smothered an initial one-on-one with Taison.
And the stunning three-goal, five-minute period was capped by the finest finish of the trio, Ukraine international Marlos putting Fonseca’s men with a curling effort from the edge of the area.
Shakhtar were threatening to run riot and Ferreyra should have doubled Shakhtar’s advantage when, at point-blank range, he nodded Ivan Ordets’ flick-on header against the crossbar.
He was almost made to pay for the miss, but Jean-Paul Boetius’ wayward finish from a narrow angle and a Jones save from Bernard meant Shakhtar remained 2-1 ahead at the interval.
Feyenoord found a foothold after the restart and went largely untroubled until Ferreyra guided a shot narrowly wide of the right upright.
Instead, it was Marlos who made the weight of opportunities pay as the attacking midfielder exchanged passes with Ferreyra before dinking a delightful finish over Jones at close-range.
100 – Feyenoord have now conceded 100 EC1 / CL goals, of which twelve came during the 2017/18 campaign. Shaky.
— OptaJohan (@OptaJohan) November 1, 2017
Feyenoord managed to create more openings over the remaining 20 minutes but lacked the cutting edge required to exert real pressure on Shakhtar, who are only a point away from escaping a tough group.
And they have the chance to punch their ticket to the last 16 with a result away to Napoli in two weeks’ time.