He suffered two broken teeth, a minor nose fracture and cuts to his lip after being struck with an object said to be a souvenir of the city's cathedral.
Mr Berlusconi, 73, tried to assure supporters afterwards he was OK but was taken to hospital for tests.
An Italian man said to have a history of mental problems has been arrested.
Massimo Tartaglia, 42, had no previous criminal record, police were quoted as saying.
After the attack on Sunday evening the prime minister, looking dazed, was helped to his feet by aides and put in a car. He got out and tried to climb on the car to show he was all right, before being driven away.
It was a typical show of defiance by a political fighter, say correspondents in Rome.
Mr Berlusconi insisted he was well at the hospital.
Mr Berlusconi had been greeting supporters in a square in Milan when the assault took place.
There are said to have been scuffles between hecklers and security staff during the rally.
At one point in his speech, Mr Berlusconi responded to his critics in Italy by declaring himself to be "good-looking" and "a decent chap".
Eyewitnesses say the Italian leader was signing autographs when he was attacked by a man wielding a souvenir model of the cathedral, which is famous for its gothic spires.
State TV has shown a video, somewhat blurry, of what appears to be the attacker's hand coming close to Mr Berlusconi's face while holding the model, then letting go of it at the last minute as it hits his face, the Associated Press reports.
One eyewitness described the souvenir as "probably made of marble or iron but, anyhow, of some heavy material".
Another eyewitness said the attacker had thrown an "object made of iron" at the prime minister.
Mr Berlusconi has been under pressure in recent months.
His private life has been in the spotlight, amid allegations that he slept with prostitutes, and after his wife filed for divorce.
He has dismissed accusations of ties to the Mafia, and criminal cases against him have resumed after a law giving him immunity was overturned.
A week ago tens of thousands of people attended an anti-Berlusconi rally in Rome.
It is also worrying for our BNP leader, Nick Griffin, and other high-ranking BNP personnel as this sort of direct action that may be the only way that the reds may be able to stop the BNP roller-coaster.
Fortunately for us all is the fact that the UAF, the main would-be protagonists here are a bunch of spineless wank-stains.