The Internal Market Bill, which Boris Johnson's administration has admitted would breach international law by allowing the UK to override Brexit deal provisions on Northern Ireland, secured 340 votes in favor with 263 against.
It will now face attempts to amend or overturn it during several days of detailed scrutiny by lawmakers before another vote. The bill was first introduced last Wednesday.
Johnson claims the EU has threatened to use "an extreme interpretation" of the withdrawal agreement to "blockade" food shipments from the rest of the UK to Northern Ireland unless Britain agrees to accept EU regulations. The EU denies threatening a blockade and says it merely wants Britain to live up to the terms of the agreement.
EU leaders are outraged at the prime minister's proposal and have threatened the UK with legal action if it does not drop the proposal by the end of the month.