Inter showed more attacking intent from the onset, with Ivan Perisic causing a couple problems to the Spurs full-backs, although chances were hard to come by for the hosts.
Harry Kane should have put Spurs ahead on 37 minutes, as the striker beat the offside trap to collect a cross from Christian Eriksen but he placed his effort wide from close range.
Handanovic came to Inter's rescue shortly before the halftime break, popping up with a timely interception to cut out a cross destined for Kane in the box.
Eight minutes into the second half, Eriksen gave the visitors the lead with a smart finish from close range after some good work by Erik Lamela.
Inter were struggling to carve out chances as the second half went on, which prompted Luciano Spalletti to introduce Keita Balde for the final 15 minutes.
The hosts had to wait until the 85th minute to get the equaliser, with Icardi finding the bottom corner with a struck finish.
The winning goal arrived in second-half stoppage time, as Stefan de Vrij's header back into the box was turned home Vecino to seal three points.