Júnior Moraes's second-minute goal set the Ukrainian side on course for an impressive quarter-final win.
Article top media content
Shakhtar booked a UEFA Europa League semi-final date with Inter after a command performance in Germany.
Match in brief
Shakhtar were irresistible from the off in Gelsenkirchen, not so much dominating the stage as writing it, directing it and then playing all the lead roles. They even insisted on performing their own stunts. Of course, a goal inside two minutes helps, Júnior Moraes heading in following a corner.
It set the tone for a magisterial first-half display as the men in orange dazzled, a blur of crisp passing. Taison doubled the lead with a deflected strike, the culmination of a lovely team move; Marcos Antônio rattled the bar and, but for goalkeeper Djordje Nikolić, it could have been much worse.
Half-time brought relief for Basel and they gamely sought the spotlight in the second act. Shakhtar soaked it up, conserving energy with an eye on Monday and adding another on the break, Taison earning a penalty that Alan Patrick converted. Dodô made it four before Ricky van Wolfswinkel's consolation.
Bogdan Buga, Shakhtar reporter
One of the best Shakhtar showings I have witnessed in years. They did everything well. Four goals against a team who hadn't conceded in the knockout stage tells its own story. More importantly, despite not keeping a clean sheet, Shakhtar revealed the defensive robustness they lacked earlier this season. They now look capable of repeating their fairy-tale run of 2009.
James Thorogood, Basel reporter
A rigorous schedule after the restart produced some below-par performances in the Swiss Super League and that same fate befell FCB on a night when they could ill afford it. In the end, a second semi-final berth in Basel history rarely looked attainable.
Luís Castro, Shakhtar coach: "We played fantastically against a very difficult team. We prepared a lot and the semi-final was our aim. We had some fantastic moments."
Júnior Moraes, Shakhtar forward: "I'm feeling amazing because we have worked hard and we believe we can reach the final. If you want to test yourself, you have to play against teams at this high level."
Valeriy Bondar, Shakhtar defender: "It was a dream debut for me [in UEFA competition]. I waited for it for so long and I have worked my way up to it. Now we face Inter and it will be a very tough game. But we are Shakhtar and we can beat any team here."
Silvan Widmer, Basel defender: "They scored a goal early on and then it was very tough for us because Shakhtar have amazing players, especially when they have space. We had to open up a little bit to try to attack and the longer the game went on, we were tired and desperate to score. Then on the counterattack they scored again."
- Shakhtar are through to their third UEFA Europa League/UEFA Cup semi-final (they beat Dynamo Kyiv in 2008/09 but lost to Sevilla in 2015/16).
- The Donetsk side have won all five of their quarter-final matches, against Braga, Marseille and now Basel.
- Shakhtar are 11 games unbeaten in all competitions (W9 D2).
- There have been at least three goals scored in ten of Shakhtar’s 11 European matches this season.
- Júnior Moraes has scored 25 goals in all competitions this term, including four in his last three outings. Shakhtar have not lost when he has found the net this season.
- Taison's goal was his 11th of the season, his best return since he moved to Ukraine in 2010.
Shakhtar: Pyatov; Dodô, Kryvtsov, Bondar, Matviyenko; Marcos Antônio (Maycon 85), Stepanenko; Marlos (Solomon 72), Alan Patrick (Kovalenko 78), Taison (Tetê 85); Júnior Moraes (Fernando 85)
Basel: Nikolić; Widmer, Van Der Werff (Ramires 73), Alderete, Petretta; Xhaka (Marchand 60), Campo, Frei; Stocker (Van Wolfswinkel 73), Cabral (Ademi 73), Pululu
Shakhtar will face Inter in the semi-finals on Monday 17 August in Dusseldorf, with the final in Cologne four days later.