The 328 to 301 vote Tuesday night clears the way for Johnson's opponents to introduce a bill Wednesday that would seek to prevent Britain from leaving the European Union without a deal October 31.
The cross-party rebels are determined to prevent a "no-deal" Brexit because of fears it would gravely damage the economy.
The prime minister's office has indicated he would seek an early election if that bill is passed to take his Brexit case to the people.
Johnson also lost his working majority with the defection of one of his Conservative Party legislators to the rival Liberal Democrats.
The government's leader in Britain's House of Commons has accused rebels of an unconstitutional attempt to seize control of Parliament's agenda.