May said she would seek "assurances" from other European leaders ahead of an EU summit later this week in a bid to try to win back support for her maligned plan in Britain.
"If we went ahead and held the vote tomorrow the deal would be rejected by a significant margin," May told parliament.
"We will therefore defer the vote scheduled for tomorrow and not proceed to divide the house (of Commons) at this time." May added that she had spoken to "a number of EU leaders" over the weekend in advance of a bloc meeting Thursday.
"I will discuss with them the clear concerns that this House has expressed." At the same time she said Britain would step up preparations for a no-deal Brexit.
"For as long as we fail to agree a deal, the risk of an accidental no deal increases. So the government will step up its work in preparation for that potential outcome," she told parliament.
The pound fell sharply against the dollar on the announcement, which increased uncertainty over whether Britain will agree any terms with the EU before it leaves the bloc in March next year.