Nicolo Barella’s wonderfully-hit volley rattled the frame of the goal early on as Inter dominated, whilst Romelu Lukaku’s vicious freekick saw Shakhtar’s goalkeeper Anatoliy Trubin at full stretch to tip against the bar.
Lautaro Martinez missed a fine opportunity from close range after the break, as Inter struggled to find away through the Ukrainian champions and registered a first goalless draw in the Champions League since 2009.
Inter started brightly and ought to have been ahead within the opening quarter of an hour, as Lukaku broke the offside trap and bore down on goal, only for Trubin to block well. From the rebound, Barella crashed against the crossbar with an acrobatic volley.
The visitors were piling the pressure on and Shakhtar’s defence almost cracked soon after, as Martinez flicked a lofted through ball beyond Trubin but could not apply the finish from a tight angle.
At the other end, Maycon dragged a low shot wide from outside the area after neat build-up play, as the Ukrainians laboured to create anything of note following an early injury to striker Dentinho.
Inter dominated the first half and were denied by the woodwork once more on the stroke of the interval. After Arturo Vidal was brought down on the edge of the box, Lukaku rifled in a vicious freekick that looked destined for the top corner, only for a magnificent one-handed save from Trubin to palm the ball onto the bar.
The Nerazzurri began the second period on the front foot and Martinez inexplicably squandered a golden opportunity to break the deadlock after Marcelo Brozovic’s effort was parried into his path in the box, but the Argentine sliced well wide with the goal at his mercy.
Yet Shakhtar offered a threat at the other end, with Taison proving to be a danger on the edge of the box and Marlos seeing a goalward effort blocked.
With less than 15 minutes remaining Lukaku showed great strength to bring a Achraf Hakimi header under control in front of goal and went down under pressure from Valeriy Bondar, but his claims for a penalty were waved away as Trubin cleared.
Despite Inter’s dominance it was Shakhtar that were presented with the best opportunity late on as Tete pounced on a dreadful Ashley Young header, but the Brazilian dallied on the ball and could not apply a finish.
As the Italian outfit pressed for a late equaliser, Shakhtar frustrated the visitors with some resolute defending to move clear at the top of Group B.