The veteran Bologna forward punished two dreadful defensive errors from the home side before Robert Acquafresca sealed a superb win with his late strike
The Nerazzurri, who went into the game without a win in its four previous Serie A outings, had the better of the early exchanges but was left reeling after a quick-fire double from Di Vaio shortly before the break, the veteran forward punishing dreadful defensive errors from the hosts.
Inter tried to rally in the second period but Robert Acquafresca sealed victory for the Rossoblu when he fired home with just five minutes of normal time remaining.
Wesley Sneijder initially looked right at home in Inter's 4-2-3-1 system, the Dutchman turning sharply away from Daniele Portanova some 25 yards out before curling a shot straight into the arms of Jean-Francois Gillet.
The Netherlands international then presented Maicon with two gilt-edged headed opportunities to open the scoring.
In the first instance, on 19 minutes, the Brazilian was denied by a wonderful instinctive save from Gillet after finding himself completely unmarked on the edge of the six-yard box. Then, just before the half-hour mark, Maicon nodded wide after getting on the end of another terrific cross from the right from Sneijder.
The goal was coming. Unfortunately for Inter, it came completely against the run of play.
Lucio naively allowed himself to be rolled by Alessandro Diamanti just inside the area and the ball eventually found its way to Diego Perez, who calmly played in Di Vaio.
The veteran striker still had much to do but he dummied his way inside Yuto Nagatomo before beating Julio Cesar with a cool finish.
Incredibly, the Bologna number nine repeated the trick just over 60 seconds later after pouncing on another dreadful defensive effort from Inter. Andrea Ranocchia was the culprit this time, the young center half displaying a complete lack of awareness in electing to chest the ball down for himself when he clearly had no idea where Di Vaio was. The veteran striker swooped in and robbed the ball from Ranocchia, before finishing past Julio Cesar.
The Nerazzurri had no option but continue pressing, though, and the horribly ineffective Forlan squandered a terrific opening to halve the home side’s deficit on the hour but he shot weakly at Gillet after a terrific surge down the left flank by Nagatomo.
Ranocchia then nearly went some way towards atoning for his earlier error but his header from Sneijder’s free-kick was brilliantly tipped around the post by Bologna’s Belgian shot-stopper.
By that point, Ranieri must have known it was not going to be his side's night and Bologna put the game beyond the home side when Acquafresca slotted home from the edge of area after taking on a retreating Inter defense.
The loss, coupled with Napoli's victory at Fiorentina, results in Inter dropping to sixth in the standings, while Bologna climbs one place to 16th.
Follow Goal.com on to get the latest soccer news directly. Check out Goal.com's page; be part of the best soccer fan community in the world!