"If you think about it, Alex Salmond is a democratic Caledonian Hitler, although some would say Hitler was more democratically elected," he said.

"[For him] the English, like the Jews, are everywhere" he added to gasps from the audience.

Starkey was speaking at a debate, hosted by the Bow Group think tank, on the teaching of British history in UK schools.

"England has shaped the world and now the world has shaped England" he said, "every other country focuses on its own history and it's absurd that we don't."

Teaching should, he said, "unashamedly focus on political history. Social history is...mere sentiment".

The British needed positive teaching of their history, Starkey argued, to preserve national identity.

"English national identity is too important to be left to the loons of the BNP and the EDL" he said.

"The government is absolutely hamstrung, as was Gordon Brown, in defining what it is to be British" he added.

Starkey lamented that in the wake of Enoch Powell's controversial Rivers of Blood speech, it was "no longer" possible to speak about nationalism.

The SNP has reacted with fury to Starkey's comments. A spokesman for Alex Salmond told HuffPost UK that Starkey's remarks were "offensive nonsense".

“This offensive nonsense is actually an insult to Scotland and to the people of Scotland.

“David Starkey is getting dafter and crankier with every passing day – his litany of offensive comments are designed only to provoke outrage, and thankfully England is blessed with a great number of far better historians than him.

We can count ourselves lucky that David Starkey is nowhere near the teaching of history in Scottish schools.

“In the words of Robert Burns, Scots will ‘look and laugh’ at this nonsense.”