1945年2月,美国总统罗斯福、英国首相丘吉尔和斯大林在雅尔塔举行三国首脑会议。在商讨对日作战问题时,斯大林提出苏联对日作战的条件之一是“外蒙古的现状须予维持”。(其他的条件是:共管中长铁路、大连港国际化和租借旅顺口等。)斯大林的要求得到了罗斯福和丘吉尔的同意。他们并就此签订了一个秘密的协定,世称“雅尔塔协定”。斯大林所说的“现状”就是指的“蒙古人民共和国”。斯大林知道这是件很烫手的事,所以提出由美国出面通知中国政府,并取得其同意。
1945年6月15日,美国驻华大使赫尔利奉命把雅尔塔协定的内容正式通知了蒋介石。蒋介石感到愤怒,却又无可奈何,只得同意派行政院院长宋子文、外交部部长王世杰和蒋经国赴莫斯科谈判。
1945年6月底至8月中旬,中苏双方在莫斯科举行多次会议,争论激烈。斯大林几乎是以威胁的口吻对宋子文说:外蒙古人民“既不愿加入中国,也不愿加入苏联,只好让它独立”;如果中国不同意,苏联就不会出兵打日本。宋子文据理力争,毫无结果;也曾经提出过给外蒙古“高度的自治权”的主张,作为妥协,但苏方一概拒绝讨论。
这样,在严酷的既成事实面前和强大的国际压力下,无可奈何的蒋介石只得指令宋子文接受苏方条件。同意:苏联出兵击败日本后,在苏联尊重东北的主权、领土完整;不干涉新疆的内部事务;不援助中共等三个条件下,允许外蒙古“独立”。1945年8月14日,宋子文、王世杰签署了《中苏友好同盟条约》及其附件。双方关于外蒙古问题的换文是这样说的:“鉴于外蒙古人民一再表示其独立愿望,中国政府同意,将在日本战败后举行公民投票以确定外蒙古的独立。”
当然,所谓“公民投票”,也不过是蒋介石为了下台阶而采取的一种办法。所以,后来奉命前往观察外蒙古“公民投票”的国民政府内政部常务次长雷法章出行前,蒋介石特别交代他:只是“观察”,不得“干预”;也不要发表任何言论。
1945年10月20日,外蒙古当局一手操办了这次“公民投票”(记名投票)。据外蒙古方面的报道称:共有49万选民,“98%的选民参加了投票,一致赞成独立”。雷法章事后对这次投票的评价是:“其办理投票事务人员,对于人民投票名为引导,实系监视,且甚为严密”,“此项公民投票据称为外蒙古人民重向世界表示独立愿望之行动,实则在政府人员监督下,以公开之签名方式表示赞成独立与否,人民实难表示自由之意志。”
1946年1月5日,中国的国民政府正式承认外蒙古的独立。
蒋介石在大陆垮台、逃往台湾后,又想起了外蒙古问题。他似乎有点“悔不该当初”了。1953年,他宣布废除1945年中苏条约中关于外蒙古的换文,不承认外蒙古的独立,并下令把外蒙古重新纳入“中华民国”的版图之内。而且还在国民党的中央会议上,沉重地“检讨”了一番,说:“承认外蒙古独立的决策,虽然是中央正式通过一致赞成的,但我本人仍愿负其全责。这是我个人的决策,是我的责任,亦是我的罪愆。”