Edin Dzeko's decisive header against Shakhtar was his 10th goal in all competitions this season
Edin Dzeko put Inter Milan to within touching distance of the Champions League last 16 with a brace in a 2-0 win over Shakhtar Donetsk which gives his side a great chance of making the knockouts for the first time in a decade.
Inter now need Real Madrid to manage at least a draw with Sheriff Tiraspol later to secure their spot in next month's draw with a match to spare thanks to two archetypal Dzeko goals in the space of six minutes midway through the second half.
The Bosnian forward lashed Inter into the lead with a precise first-time strike from the edge of the area and then nodded home a header to put the San Siro in party mood after the hosts had wasted a host of chances and had two goals ruled out for tight decisions.
Inter top Group D on 10 points after their third consecutive win in the competition, a point ahead of Madrid and four away from Sheriff in third.
"We really needed this win, after a first half in which we created so much and we were still 0-0 with a team like them there was a bit of tension. Dzeko's goal was a liberation," Inter coach Simone Inzaghi told Sky Sport Italia.
"(The last 16) is a big target for us. When I came here I spoke about it with the club... we played really well, let's not forget that we're little more than 48 hours from a match like the one against Napoli (won 3-2 on Sunday) in which we expended a lot of energy."
For Shahktar, defeat leaves them rooted to the bottom of the group with a solitary point, their European season over.
"We deserved to lose today, we played with little courage, little personality and little quality. We lost against a team that's doing well, that's a great team," said Shakhtar coach Roberto De Zerbi.
It was a huge win, with Inter's final group match at the Santiago Bernabeu against Madrid in a fortnight's time, and it was one with plenty of incident.
Nicolo Barella wasted a golden opportunity to give Inter the lead with 11 minutes on the clock, somehow skying when Ivan Perisic's deflected cross fell to him only yards from the Shakhtar goal.
Then a flurry of gilt-edged chances came and went midway through the first half, with the San Siro crowd wondering how the scores were still level.
First Lautaro Martinez had two shots well blocked by Maycon in the 22nd minute after a lightning break from Barella, then Andrea Ranocchia headed a corner just wide before Perisic rolled home a calm finish only for the home fans to be silenced by an extremely tight offside decision against Matteo Darmian.
Seconds later Dzeko looked on in horror as Anatolii Trubin scrambled to stop him from tucking home the opener after sloppy Shakhtar play out from the back.
Just four minutes had passed from Martinez's chance to when Dzeko then had a header well saved by Trubin, and in the middle of all that Fernando blasted a shot wide when he had a teammate wide open in front of goal.
An already strange match took on a further bizarre turn just before the hour mark when Martinez brilliantly lashed home what he thought was the opener, only for the goal to be ruled out for his foul on Mykola Matviyenko while he was still celebrating and the stadium announcer was bellowing out his name.
However moments later Dzeko did finally rattle in a goal that could not be ruled out when, after Darmian's low shot was charged down at the end of a flowing break, he crashed in his ninth goal in all competitions this season.
And he made sure the home supporters would go home happy, heading home the impressive Perisic's delicate cross in the 67th minute and celebrating with the delirious fans behind the goal.
Those supporters' hearts were in their mouths with eight minutes left when Dodo charged into Inter's area and thumped a low shot off the near post which rolled across the goalline and somehow missed both lunging feet and the opposite post.
But that was that from Shakhtar and Inter are now achingly close to an objective they've failed to meet since the 2011/12 season.