Silvio Berlusconi has been injured at a rally in Milan tonight after a man threw a model of Milan cathedral at him, according to Italian news reports.

The Italian prime minister was whisked away in a car after falling to the ground during the attack. State television showed Berlusconi with blood on his lips as he was lifted to his feet by aides.

Police initially said a young man had punched Berlusconi in the face outside the Piazza del Duomo, but later said the man had hurled a small metal object at the premier from close range. A 42-year-old man was arrested at the scene, according to the Ansa news agency.

Berlusconi is to be kept in hospital overnight following the incident, which happened after the premier delivered a speech to his conservative supporters this evening.

Initial X-rays showed a injuries to two teeth but the 73-year-old prime minister and media mogul said "I'm fine, I'm fine" when he was moved to a hospital room in the northern city, Ansa said.

"What they've done to Berlusconi is an act of terrorism," said Umberto Bossi, head of the far-right Northern League and a close Berlusconi ally.

The attack concludes a rather dismal weekend for Berlusconi, whose approval ratings slid four percentage points in November as his legal troubles mounted, according to an opinion poll in an Italian newspaper on Saturday.

Stripped of immunity from prosecution, Berlusconi faces the reopening of a number of trials against him, including one on charges of bribery and corruption and another for tax fraud.

Berlusconi's approval ratings fell to 50.1% at the beginning of December, from 54.4% in early November, according to an Ipsos poll in La Stampa.

The lower ratings meant Berlusconi's government, which enjoys approval ratings of 53.2%, is more popular than the prime minister himself, the newspaper said.