北海在金代大定年间(1179年)开拓之初称西华潭,元代改名太液池[1] 。北海的“海”与元朝蒙古族的统治有关,蒙古人把湖称作“海子”,元朝时,蒙古族入主中原,定都北京,称大都。他们的生活习俗与文化也随之传入。从那时起,北京的湖开始称为“海子”,后来简称“海”[61] 。从此,北京地区便有了“海”的名称,并逐渐派生出“北海公园”“中南海”等“海”字地名[2] 。
早在辽代,太宗会同元年(938年)建都燕京时,城东北郊有一片湖泊,名叫“金海”,又称“海子”,这就是北海的前身。金海中有一小岛,叫“瑶屿”,这或许就是琼岛的前身[3] 。
金灭辽后,扩建“瑶屿”,金大定三至十九年(1163年-1179年),金世宗仿照北宋汴梁(今河南开封)“艮岳园”,在中都的东北郊以瑶屿为中心,修建了大宁离宫,从那时起,北海就基本形成了皇家宫苑。当时把挖“金海”的泥土扩充这个岛和环海的小山,岛称“琼华岛”,“金海”改称“西华潭”[3] 。
1264年,元世祖忽必烈决定在旧中都城东北郊选择新址营建大都。至元元年到至元八年(1264年-1271年)忽必烈曾三次扩建琼华岛,重建广寒殿。至元八年(1271年),琼华岛曾改称“万寿山”,又称“万岁山”,以琼华岛为中心,在湖的东西两岸营建宫殿,联系大内和西内,发展成为一个颇有气派的皇宫御园[3] 。
明朝在元朝的基础上,对北海又加以扩充和修葺,明永乐十八年(公元1420年),明朝正式迁都北京,万寿山、太液池成为紫禁城西面的“御苑”(俗称“西苑”),北海就成了名副其实的皇宫后花园[4] 。到了明宣宗朱瞻基宣德年间(1426-1435年),将“万岁山”的建筑进行大规模地扩建和修缮。并在圆坻(今团城)上修复了仪天殿,在圆坻南面的小岛上建起了犀山台圆殿。当时为了方便交通,在北海的东部拆桥填土,使团城和犀山台与陆地相连接。明天顺二年(1458年),在北海北岸创建“太素殿”。由于用锡做材料,又称为“锡殿”,也叫“避暑凉殿”。在东岸建起了“凝和殿”,在西岸建起了“迎翠殿”,改团城两面的吊桥为石桥。称为“金鳌玉蝀”桥。(今北海大桥的前身)[3] 。