MPs have voted by 412 to 202 for Prime Minister Theresa May to ask the EU for a delay to Brexit.
It means the UK may not now leave on 29 March as previously planned.
Mrs May says Brexit could be delayed by three months, to 30 June, if MPs back her withdrawal deal in a vote next week.
If they reject her deal again then she says she will seek a longer extension – but any delay has to be agreed by the 27 other EU member states.
A spokesman for the European Commission said extending Article 50, the mechanism taking the UK out of the EU on 29 March, would need the “unanimous agreement” of all states.