Boris Johnson faces a new battle in the Commons after his first vote as PM saw him lose to rebel Tories and opposition MPs who object to a no-deal Brexit.
The Commons voted 328 to 301 to take control of the agenda, allowing them to bring a bill requesting a Brexit delay.
The PM said he would call for a general election if he was forced to request an extension to the 31 October deadline.
MPs will now vote on the Brexit delay bill. If it passes, the vote on whether to hold an election will follow.
Wednesday in the Commons will also see Chancellor Sajid Javid outline the government’s spending plans, with the health service, education and the police expected to fare well.
Speaking late on Tuesday to a packed House of Commons, the prime minister said the MPs’ bill would “hand control” of Brexit negotiations to the EU and bring “more dither, more delay, more confusion”.
He told MPs he had no choice but to press ahead with efforts to call an October election, adding: “The people of this country will have to choose.”
Jeremy Corbyn said the bill needed to be passed to take the no-deal option completely “off the table” before his party would support the call for a general election.