Italy blew the Six Nations wide open as they won at home against France for the second time in a row.
Italy took an early lead as number eight Sergio Parisse finished off a flowing counter-attack but France hit back as his opposite number, Louis Picamoles, powered over.
Luciano Orquera's boot saw the hosts stretch clear but Benjamin Fall's try and Frederic Michalak's kicks put the visitors 18-13 up 10 minutes into the second half.
France looked set to pull away but Martin Castrogiovanni's converted try put Italy back in front and Kris Burton's drop-goal and some ferocious defence saw the hosts secure a dramatic victory.
The two nations may consider themselves friends and equals off the rugby pitch, but on the field of play it has always been a wholly unequal relationship.
Official match stats
Scrums won (lost)
Line-outs won (lost)
Tackles made (missed)
(provided by accenture)
Going into the game France led their head-to-head 31-2 and were in great form after a November clean sweep against Australia, Argentina and Samoa.
France had lost the last time the two sides met in Rome, with
Italy pulling off a famous 22-21 victory in 2011,
but French pre-match talk of a possible repeat seemed designed more to take the pressure off their team, rather than genuine fear of Italy.
However, the Italians were determined to prove they were more than deserving of the respect offered to them by their visitors.
Their pack has always been able to mix it with the best, with it including the likes of the world-class Parisse, but this time Italy's backs stood up to be counted with Orquera turning in a man-of-the-match performance at fly-half and winger Giovanbattista Venditti proving a real handful.
Captain Parisse started the ball rolling, although Orquera was the architect of the score.
Luke McLean began a counter-attack and, when the ball came into midfield, Orquera saw he was up against France prop Nicolas Mas and took full advantage, slicing through the visiting defensive line.
Parisse was ranging up in support and had the pace to out-run the cover and cross for a cracking try, with Orquera adding the extras to get the game off to an explosive start.
The opening two matches of the championship on Saturday had both been exciting encounters, and it was soon clear this match was to join them.
France were rapidly on the scoreboard as Picamoles, who had been driven back by opposite number Parisse earlier in the move, this time got the upper hand and showed his immense power to go over for an unconverted score.
A drop-goal and penalty from Orquera put Italy 13-5 up but Michalak trimmed the margin with a penalty and then put France ahead after Fall finished off a fantastic French move.
Fall scores superb try for France
Ten minutes into the second half veteran play-maker Michalak, starting his first Six Nations game at fly-half for seven years, slotted a penalty to put France five points ahead and it looked as though the momentum was with them.
But Italy had other ideas. The hosts looked to have blown their chance of a try after failing to exploit an overlap inside the France 22, but from a ruck near the line, Orquera sniped around the fringes, somehow managed to free his arms from the gasp of two giant French forwards and fed Castrogiovanni to plunge over.
Orquera converted and when his replacement Burton added a drop-gal with 12 minutes to go, the hosts led by five points.
France had been under the cosh but they finally roused themselves and looked as though they might sneak victory with a late attack.
Italy saw prop Davide Giazzon yellow carded but managed to hold out when France subsequently went for a pushover try from a scrum, forcing the visitors to attack through their backs.
They were repelled in the right corner and when they spun the ball back to the left, Fall was swept into touch by a tide of white shirts.
Italy coach Jacques Brunel set his side a target of at least two wins in this year's Six Nations, while captain Parisse said before the game that one day he wants to win the competition, adding "why not this year?".
On the evidence of the Stadio Olimpico, that may not be the unlikely dream most imagined it to be at the start of the day.
Pavanello for Benvenuti (71), Burton for Orquera (63), Gori for Botes (55), Giazzon for Lo Cicero (55), De Marchi for Ghiraldini (55), Cittadini for Castrogiovanni (62), G Canale for Geldenhuys (71), Derbyshire for Favaro (63).
Trinh-Duc for Huget (71), Kayser for Fofana (52), Parra for Fritz (62), Bastareaud for Machenaud (62), Debaty for Szarzewski (52), Ducalcon for Mas (66), Taofifenua for Pape (58), Chouly for Picamoles (68).
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.