RB Leipzig started on the front foot and controlled much of the game.
Nkunku had the opportunity to put the home side ahead, but his effort was straight at Trubin in the opposition goal.
Shakhtar’s goal came completely against the run of play as Gulacsi spent too long on the ball and lost out to Shved, who scored an open goal.
Leipzig equalised just before the hour-mark after a good finish from Simaken at the near post.
But Shved scored again a minute later as a double deflection took his shot past Gulasci.
Mudryk and Traore scored in the last 15 minutes after the hosts were caught on the counter-attack twice to secure a 4-1 Shakhtar victory at Leipzig.
RB Leipzig (4-4-2): Peter Gulacsi;
Mohamed Simkan, Abdou Diallo, Willi Orban, Marcel Halstenberg;
Dominik Szoboszlai, Konrad Laimer, Xaver Schlager, Christopher Nkunku;
Andre Silva, Timo Werner.
SUBS: Janis Blaswich, Emil Forsberg, Josko Gvardiol, Amadou Haidara, Benjamin Henrichs, Kevin Kampl, Hugo Novoa Ramos, David Raum.
Shakhtar Donetsk (4-5-1): Anatolli Trubin;
Lucas Taylor, Valeriy Bondar, Mykola Matviienko, Yukhym Konoplya;
Marian Shved, Artem Bondarenko, Taras Stepaneko, Georgiy Sudakov, Mykhalio Mudryk;
SUBS: Neven Djurasek, Eduard Kozik, Dmytro Kryskiv, Srgiy Kryvtsov, Bogdan Mykhaylichenko, Oleg Ocheretko, Ivan Petryak, Andrij Pyatov, Oleksiy Shevchenko, Danylo Sikan, Dmytro Topalov, Lassina Traore.
GOAL!!!!! 1-0 SHAKHTAR! Gulacsi makes a massive error after spending too long on the ball, and Shved pounces on the opportunity to put the ball into an empty net.
GOALLLL!!!!! 1-1 SIMAKEN!!! Leipzig gets their equaliser after Szoboszlai and Silva combine to get Simaken a clear sight at goal. The defender shoots past Trubin at the near post to level the game.
GOALLL!!!!! 2-1 SHAKHTAR! Shved gets his second goal of the game to put the visitors back into the lead instantly. His shot takes a double deflection to beat Gulacsi in goal.
GOAL!!!!! 3-1 SHAKHTAR! Mudryk gets his name on the scoresheet with a brilliant left-footed finish into the bottom corner following a counter-attack from a Leipzig corner. A clinical finish to give the defence more relief.
GOALLL!!!! 4-1 SHAKHTAR!!! Traore ends any hope of a Leipzig comeback as he taps home Shakhtar’s fourth goal of the night. The visitors get a hold of the ball and keep it well. Leipzig tries to press, but they fail to do it as a unit and cannot retrieve the ball. A lofted pass is played to Mudryk, who squares the ball to Traore to finish.
So, what’s next?
After a disappointing game for Leipzig, it won’t get any easier for them as they face Borussia Dortmund in the league before travelling to Real Madrid next week in their next Champions League game.
Shakhtar’s next Champions League fixture will be against Celtic, who are bottom of the group after a 3-0 defeat in their opening game.
Likewise, for more football news like this, click here.