Ukip leader Nigel Farage had to be evacuated from a pub in a police riot van after being mobbed by rowdy protesters.
Mr Farage arranged a press conference in the Canons' Gait pub on Edinburgh's Royal Mile, near the Scottish Parliament, to promote his candidate Otto Inglis in the upcoming Aberdeen Donside by-election.
But the pub was soon filled by dozens of protesters shouting "racist Nazi scum".
Protester Max Crema, 21, an economics student and vice president of services at Edinburgh University Students Association, suggested Ukip has "a well documented history of racism".
Mr Farage replied: "If you believe that then you are less intelligent than you look, dear boy. We are a non-racist, non-sectarian party and unlike every other party in British politics, we actually forbid people who have been on extreme left or right-wing extremes from joining our party.
"The Labour Party actually has former BNP members sitting as Labour councillors, so don't give me that rubbish."
Bar staff were forced to clear the pub as the protesters became increasingly rowdy.
The Ukip leader attempted to make an escape by taxi but protesters blocked its path, and taxi driver Alexander McMillan said he was shaken by the incident.
"I couldn't take him, they were attacking that taxi and blocking its path so I just had to give up, and then the police got involved," Mr McMillan said.
Police eventually escorted Mr Farage back into the pub and barricaded the doors against protesters, and a police van was dispatched to take him away.