David Cameron has mounted a robust defence of his decision to support a referendum on Scottish independence, saying that an "almighty and disastrous battle" would have erupted between Westminster and Holyrood if he had blocked a vote.

As reports circulate that the prime minister has told allies he will not resign if Scots vote for independence in September, Cameron said he had no choice but to authorise a referendum after the Scottish National party (SNP) won a majority in Holyrood in 2011.

He also gave a taste of the arguments he will deploy in the event of a yes vote when he explained, during a question and answer session at an engineering firm in Stroud, why he had decided to "risk" granting the Scottish parliament the power to hold a referendum.

Cameron told his audience: "You might want to think 'well why are we having this referendum, why take the risk?' I think it is the right thing to do for this reason. The Scottish people elected in 2011 a Scottish National party government in Edinburgh with Alex Salmond at its head. One of their policies was to have a referendum on the future of Scotland being a part of the UK.

"I felt, as the prime minister of the UK, I had a choice. I could either say to them 'well you can't have your referendum, it is for us to decide whether you should have one.' I think that would have led to an almighty and disastrous battle between the Westminster parliament and the UK government and the Scottish government and the Scottish first minister. So I did what I thought was the right thing, which was to say 'you voted for a party that wants independence, you should have a referendum that is legal, that is decisive and that is fair.'"

Cameron's remarks indicate that he has given a great deal of thought to the response he will give if Scotland votes for independence. Some senior Tories have been saying in private that he would have to resign on the grounds that he would be the prime minister who broke up the UK 307 years after the Acts of Unions created Great Britain. Cameron's critics believe the referendum was a reckless gamble.

The Daily Mail, however, reported on Thursday that the prime minister is insisting he will not resign in the event of a yes vote. The newspaper quoted him as telling friends he had no intention of quitting.

Cameron insisted at his question and answer session that he was confident he would win the referendum. "I am confident of the arguments, because I think the arguments of the head – are we all better off together – are very strong. We are definitely more prosperous together … But it is not the arguments of the head where I think the campaign to keep the UK together wins. It is the arguments of the heart too. Think of all the things this family of nations has done together, whether it is defeating Hitler or inventing the NHS."