The Spanish side are bottom of Group A with two games remaining and they must secure all three points at the Donbass Arena and hope Manchester United beat Bayer Leverkusen to avoid crashing out of Europe's premier club competition.
Jagoba Arrasate's charges picked up their first point by holding United to a 0-0 draw last time out and they will be out for revenge against the Ukrainian champions, who beat them 2-0 in San Sebastian back in September.
Sociedad come into the game on a high after a thrilling 4-3 win over Celta Vigo at the weekend and they occupy fifth place in the Liga table.
Striker Carlos Vela was the star of the show against Celta as he scored all four goals - including two in the space of three minutes late on - to seal a stunning victory.
Arrasate will be concerned by his side's form on their travels, however, as they have only won once on the road in the Spanish top flight this term to go with their 2-0 Champions League play-off win at Lyon in August.
Midfielder Markel Bergara will not feature on Wednesday after picking up his third yellow card in the competition against United.
Shakhtar are two points behind second-placed Leverkusen and three adrift of leaders United ahead of the final two group games - with their last match being at Old Trafford next month.
Mircea Lucescu's side have drawn their two home games in the group, but they will also come into the game on the back of an impressive victory, having beaten Sevastopol 4-0 at the weekend to cement top spot in the Ukrainian Premier League.
Shakhtar will be all but eliminated if they lose and the other game between Leverkusen and United at the BayArena is drawn.
Midfielder Bernard missed the resounding victory at the weekend as he had been away on international duty with Brazil, but could return for this crunch clash.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.