Writing in the Observer, the Labour politician said that with the UK due to leave the EU in six months, it now faced either a “bad deal” or “no deal”.
The debate had also become “more about Boris Johnson’s political ambitions” than what was good for the UK, he said.
Prime Minister Theresa May has said a second vote would be a “betrayal of our democracy”.
Khan said that although he campaigned to remain in the EU, he had accepted “the will of the British people was to leave the EU”.
He said he had never expected to back calls for a second referendum but had become “increasingly alarmed as the chaotic approach to the negotiations had become mired in confusion and deadlock”.
With time running out for the British government to negotiate a final deal with the EU before March 2019, Khan said the UK was left with two “incredibly risky” possibilities.
“Both these scenarios are a million miles from what was promised during the referendum campaign, only further exposing the lies and mistruths sold to the public,” he wrote in the paper.
“I don’t believe Theresa May has the mandate to gamble so flagrantly with the British economy and people’s livelihoods.”
In July, Khan told the BBC’s Andrew Marr Show he believed the British public should be consulted if Parliament voted against the government’s final Brexit deal.
But on Sunday, the London mayor said he had now concluded people “must get a final say”.
“This means a public vote on any Brexit deal obtained by the government, or a vote on a no-deal Brexit if one is not secured, alongside the option of staying in the EU,” he said.