Parliament will be suspended just days after MPs return to work in September – and only a few weeks before the Brexit deadline.
Boris Johnson said a Queen’s Speech would take place after the suspension, on 14 October, to outline his “very exciting agenda”.
But it means the time MPs have to pass laws to stop a no-deal Brexit on 31 October would be cut.
House of Commons Speaker John Bercow said it was a “constitutional outrage”.
The Speaker, who does not traditionally comment on political announcements, continued: “However it is dressed up, it is blindingly obvious that the purpose of [suspending Parliament] now would be to stop [MPs] debating Brexit and performing its duty in shaping a course for the country.”
Labour leader Jeremy Corbyn said: “Suspending Parliament is not acceptable, it is not on. What the prime minister is doing is a smash and grab on our democracy to force through a no deal,” he said.
He said when MPs return to the Commons next Tuesday, “the first thing we’ll do is attempt legislation to prevent what [the PM] is doing”, followed by a vote of no confidence “at some point”.
Three Conservative members of the Queen’s Privy Council took the request to suspend Parliament to the monarch’s Scottish residence in Balmoral on Wednesday morning on behalf of the prime minister.
It has now been approved, allowing the government to suspend Parliament no earlier than Monday 9 September and no later than Thursday 12 September, until Monday 14 October.
Leader of the House Jacob Rees-Mogg, who was at the meeting with the Queen, said the move was a “completely proper constitutional procedure.”
Earlier, Mr Johnson said suggestions the suspension was motivated by a desire to force through a no deal were “completely untrue”.
He said he did not want to wait until after Brexit “before getting on with our plans to take this country forward”, and insisted there would still be “ample time” for MPs to debate the UK’s departure.
“We need new legislation. We’ve got to be bringing forward new and important bills and that’s why we are going to have a Queen’s Speech,” Mr Johnson added.