Ten Spurs fans, in town for a match with rival Rome club Lazio, were taken to hospital after Thursday’s attack.
One Spurs fan injured in the bar attack – named on social media as Ashley Mills, 25, from Brentwood, Essex – will remain in hospital for a fortnight.
The two defendants are expected to appear in court in Rome later.
A police spokeswoman said: “They have been charged with attempted murder for involvement in riots and causing serious injury with a knife and are due to appear in court soon.”
They have been named as 26-year-old Francesco Ianari and Mauro Pinnelli, 27.
After the attack media suspicion initially fell on Lazio fans, but this was later questioned.
The BBC understands Mr Mills has “skull and thigh” injuries from the stabbing in a bar early on Thursday.
There has been speculation that the attack was carried out by a far right group with anti-Semitic leanings; Tottenham traditionally draw support from north London’s Jewish community.
The BBC’s Rome correspondent Alan Johnston said: “There are reports that witnesses heard the masked men shouting ‘Jews’ as they launched their attack. A senator here has said that what happened had racist, anti-Semitic connotations.
“And he’s called on the Interior Minister to report on the matter. The mayor of Rome has said that the possibility that anti-Semitism played a part made the attack all the more serious. Meanwhile Israel’s ambassador to Italy has indicated he has no doubt that this was a racist attack.”
Italian newspaper reports suggested the pair were caught after they boasted about their exploits on a bus and that there was CCTV evidence from the Campo de’ Fiori, outside the Drunken Ship bar.
On Thursday Lazio chairman Claudio Lotito said: “Lazio fans have nothing to do with what happened” and he added that there would be “surprises about the real culprits”.
Meanwhile, Tottenham manager Andre Villas-Boas has called for Uefa to investigate alleged anti-Semitic chanting during Thursday’s game against Lazio, which ended in a 0-0 draw.
An FA spokesperson said: “We were saddened and alarmed to see reports of violent incidents prior to the game as well as anti-Semitic chants.
“The FA had a crowd control advisor present at the fixture who will provide an urgent report which we will pass on to Uefa as a matter of priority.”
In October, Lazio were fined 40,000 euros (£32,500) following racist chanting at Spurs’ White Hart Lane ground.