Gordon Brown says he takes "full responsibility" for the snap election speculation - and denied poor opinion polls led him to decide against one.
Pressed at his No 10 media briefing, he said he had considered an election but his "first instinct" had been to have more time to set out his vision.
He also denied "dithering", saying he always planned to make his decision at the end of the party conference season.
David Cameron has accused Mr Brown of "not being straight with the public".
And Liberal Democrat leader Sir Menzies Campbell has called the episode "deeply damaging".
As he seeks to regain the political initiative, Mr Brown is currently making a Commons statement on Iraq.
He has told MPs that troop numbers will be reduced, from 5,500 to 2,500 by next spring. He also said some Iraqis who have worked for British forces will be able to apply for financial aid to settle there, elsewhere in the region or "in agreed circumstances" in the UK.
After he finishes the Iraq statement in the Commons, he is due to address the Parliamentary Labour Party - a traditional engagement for the party leader when the Commons returns from its summer break.
At his Downing Street briefing, Mr Brown was bombarded with questions about his decision on Saturday not to hold an election this November.
He told reporters: "Yes, I did consider holding an election. Yes, I looked at it.
"My first instinct, if I were honest with all of you, was that I wanted to get on with my job of putting my vision of what the future of the country was to the people of the country and deliver on it before there was ever an election.
"But I did listen to people. I heard from candidates in marginal seats - those candidates in marginal seats were telling us we would win the election.
"I happen to believe we would win at any time."
Mr Brown defended his advisors, who had reportedly pushed for a poll, saying: "I take full responsibility for everything that has happened."
He insisted he had not "dithered", saying he had decided long ago he would wait until the party conference season was over before making his decision about an election.
"I could have taken it earlier - maybe I should have taken it earlier," he conceded.
To those suggesting he had shown weakness and indecisiveness, he said "real strength and real decisiveness" was making the right long term decisions about the UK's economy and the UK's security.
The press conference comes the day after Conservative leader Mr Cameron accused the prime minister of "treating the British people as fools" over his decision not to call a snap election.
But Mr Cameron said the PM "was not being straight... everybody knows he is not having an election because there's a danger of him losing it".
He added: "The reason the prime minister has cancelled this election is that the Conservative Party is making the arguments about the changes this country needs. People are responding very positively to our proposals."
Lib Dem leader Sir Menzies Campbell said a "charade" had been conducted in the interests of the Labour Party, and accused the prime minister of reverting to "the worst of Blairism".
"It is deeply, deeply damaging (to him) and more than that it is deeply, deeply damaging to politics," he said.
His party will on Monday launch a bid for legislation to strip prime ministers of the right to pick election dates by imposing four-year fixed-term parliaments.
Mr Brown's announcement to the BBC's The Andrew Marr Show that there would not be an election came as a poll published by Sunday's News of the World suggested the Tories were ahead by 6% in marginal seats, with the party overall at 44% against Labour's 38%.
Translated into a general election, it would mean a hung Parliament with Labour holding 306 seats and the Tories 246.
A poll carried out for the Sunday Times suggested the Tories had taken a three-point lead.