开封在战国时曾为魏都,当时叫大梁,后又改称汴州。隋朝开通的运河经汴梁入江淮,使这里成为了锁控南北水路交通的咽喉。到唐朝中后期,北方藩镇割据,战乱频仍,经济中心移至南方地区,汴梁则成为南粮北运的必经之地。五代时期,汴梁先后为后梁、后晋、后汉、后周四国之都,城市规模不断扩大。到周世宗柴荣时,汴梁已经拥有三重城墙,城高池深,城内建筑规整,道路宽阔,商业繁荣,已颇具帝都风范。
此时的洛阳(包括长安)由于自唐朝后期开始的连年战乱,城市破坏严重,经济凋弊不堪,基本上已经失去了作为国都的条件。而事实上,长安自唐后、洛阳自后晋石敬瑭迁都开封,都再也没有成为过任何王朝的国都。
赵匡胤通过陈桥兵变夺取后周政权,所以最初定都开封谈不上选择,只是一种自然而然的承袭。开封确实是易攻难守的四战之地,此前定都于此的都是短命政权,但宋太祖雄才大略,大宋开国后即开始为开疆扩土而南征北战,战略上以攻为主,战场主要在别人的地盘上,十多年来国都从未受到过威胁,而开封的通达便利更成为了利兵利战的优势。应该说,宋初定都开封是符合社会、经济、政治、军事等各方面客观需要的最佳方案。