Amid dramatic scenes, Labour provoked fury among pro-EU MPs by abstaining on a bid for a Final Say referendum, which was defeated by 249 votes.
Rebel calls to allow parliament to take control of the Brexit process through "indicative votes" were also defeated, though narrowly.
It comes after the US president Donald Trump also made an explosive intervention into the debate, saying a public vote would be "unfair" and he was "surprised at how badly" the Brexit talks had gone.
But worryingly for Ms May cabinet unity crumbled when it came to a free vote on the government's Brexit delay motion.
Eight of her top ministers voted against it – and a further 180 Conservative MPs did likewise.
Ms May will now eye a third vote on her withdrawal agreement while Britain asks the EU for a delay to the date of its exit from the bloc.
See below how we covered Thursday's events live