The visitors got off to the perfect start as Alessio Cerci crossed for Ciro Immobile, who hammered in from close range.
© Getty Images
Three minutes later it was 2-0 for Torino with Kamil Glik heading in a Cerci corner as their early dominance paid off.
Ten minutes before the break the leveller arrived and it was Leandro Greco who finished low from the centre of the box.
The equaliser boosted the hosts and they started to take control, with the comeback complete on 62 minutes as Emerson fired in a screamer from more than 30 yards.
Torino came back at their hosts and Immobile came close to an equaliser but his effort from the edge of the box fizzed narrowly wide.
Then there was late drama as Cerci kept his cool from the spot to earn Torino a point.