Andrea Belotti bagged a brace and hit the woodwork twice, while Salvatore Sirigu made a series of saves, as Torino stunned Roma 2-0 at the Olimpico.
Until this result, Toro had lost their last nine consecutive Serie A trips to the Capital, conceding 27 goals.
The Giallorossi hoped to start 2020 on the right foot, having won four and drawn one to see out 2019 in fourth place. Federico Fazio, Justin Kluivert, Bryan Cristante, Davide Santon and Davide Zappacosta missed out, while Torino had Gelson Bremer and Cristian Ansaldi suspended, Iago Falque, Daniele Baselli and Simone Edera injured. Walter Mazzarri was back under pressure following a shock home defeat to SPAL.
Salvatore Sirigu was called into a very tricky save in the third minute, as Nicolò Zaniolo’s deflected effort looped up and had to be clawed away. Edin Dzeko then slipped at the crucial moment when sent clear by Zaniolo.
However, Torino came very close on eight minutes, as Andrea Belotti sprung the offside trap and his angled drive bounced off the inside of the far post with a fingertip save, then as the move continued, Lorenzo De Silvestri’s header was too weak to trouble Pau Lopez.
Aleksandar Kolarov’s half-volley flashed wide and his free kick was palmed over by Sirigu, but Sasa Lukic somehow failed to get a free header on target from six yards.
There was controversy on the half-hour mark, as Edin Dzeko went down in the box under pressure from Nicolas Nkoulou, but the incident never went to VAR because he was flagged offside – although he started his run inside his own half and could not have been offside.
Sirigu got down very quickly for a one-handed save at the near bottom corner, as Pellegrini hit it hard and low from 17 yards, then Kolarov was offside on the rebound.
In the final seconds of the first half, Torino took a shock lead. Belotti gathered down the centre-left side of the box and seemed to hesitate ready for a pass to Ola Aina, but instead used that distraction to smash it left-footed into the near top corner, taking everyone by surprise.
It was almost 2-0 straight after the restart, as Belotti’s toe-poked attempt took a slight deflection to loop up and Pau Lopez was at full stretch to arch back, fingertipping the ball on to the crossbar.
Diego Perotti forced a save out of Sirigu at the near post, but the veteran goalkeeper showed cat-like reflexes to deny Pellegrini from six yards, then the Gianluca Mancini follow-up was deflected inches wide.
Armando Izzo ran a very big risk of getting himself sent off on 76 minutes when – already on a yellow card – he blocked a cross just outside the box with a blatant handball. Alessandro Florenzi was so angry at the decision not to give another card that he was booked for dissent.
Henrikh Mkhitaryan hit a weak effort straight at Sirigu after Nikola Kalinic’s smart dummy had let the ball through, while Kolarov and Alex Berenguer were off target.
VAR was called into action when Chris Smalling charged down a Belotti shot with his back, but as he turned around, slapped the ball away with his trailing hand. Belotti drilled into the near bottom corner, sending Pau Lopez the wrong way to complete his brace and double Torino’s lead.
Kalinic and Dzeko had chances late on to get a consolation goal, but their finishing was too weak from six yards.
See the latest Serie A predictions and betting tips with Eurotips.co.uk