British Prime Minister David Cameron and nationalist Scottish leader Alex Salmond have signed an agreement to give the Scottish people a referendum on independence in 2014.

The referendum will ask voters whether they want Scotland to remain in the 305-year-old union with England.

Mr Cameron opposes a break-up of the union, arguing that Britain is stronger together.

The latest opinion polls suggest that only between 30% and 40% of Scots support independence.

Scotland and England have shared a monarch since 1603 and have been ruled by one single parliament in London since 1707.

A devolved Scottish parliament was opened following a referendum in 1999.

Nationalists have timed the vote to coincide with the 700th anniversary of the Battle of Bannockburn, when Scottish forces led by Robert the Bruce defeated English invaders.

The agreement stipulates that the ballot must contain just one question on independence.

The Scottish government has been given a free hand to propose the date of referendum, the wording of the question, and the option to extend the franchise to 16- and 17-year-olds.

Both governments emerged from today's talks insisting that they were satisfied with the final agreement.

"I am doing my absolute best to not look triumphant today," said Mr Salmond following the signing of the agreement that will fulfil the Scottish National Party's 80-year-old ambition for a referendum on independence.

Mr Cameron said he passionately believes that Scotland will be better off with the United Kingdom "but also crucially the United Kingdom will be better off with Scotland".