Inter Milan beat Dortmund to boost Champions League last 16 hopes
Argentina forward Lautaro Martinez continued his fine form scoring after 22 minutes in the San Siro, but missed a chance for a second from the penalty spot eight minutes from time.
But Candreva sealed the three points a minute from time to move Antonio Conte’s side move off the bottom of Group F having fallen 2-1 to Barcelona and holding Slavia Prague 1-1.
Inter join Dortmund on four points with Barcelona top with seven points from three games.
The Germans suffered their first defeat of the campaign after a 2-0 win over Slavia and holding Barcelona to a goalless draw.
Stefan de Vrij sent the ball through for Martinez in the opening half an hour with the Argentine beating the offside trap as well as goalkeeper Roman Burki from close range.
The 22-year-old’s goal, his second consecutive in the Champions League after scoring against Barcelona and fifth in four games for Inter, was confirmed by VAR.
Inter could thank captain Samir Handanovic for keeping their advantage into the break with the goalkeeper diving low to clear a Jadon Sancho angled drive.
Candreva sent a shot over just after the break as Inter pushed to close off the game.
Conte gave 17-year-old Sebastiano Esposito his Champions League debut coming on after an hour in place of Belgium striker Romelu Lukaku.
Handanovic again did well to deny Julian Brandt after 64 minutes, with Martinez shooting just wide after 73 minutes.
Dortmund’s best chance came late when Thorgan Hazard broke down the left to send through for Sancho but Marcelo Brozovic cleared the danger.
Esposito earned a penalty for Inter as he raced towards goal forcing a foul from Dortmund’s Mats Hummels to the delight of the 60,000 crowds at the San Siro.
Burki denied Martinez a brace from the spot but Candreva powered forward with a minute of normal time to play to seal victory with his fifth European goal leaving Burki with no chance.