元灭南宋后,仍利用隋唐运河旧道转运漕粮,路线大致是:由长江辗转入淮,逆黄河上达中滦旱站(今河南封丘西南),陆运180里至淇门(今河南浚县西南),入御河(今卫河),水运至大都。因运河河道多有壅塞,水陆转运颇多不便,而海上运路往往风信失时,也多倾覆,于是元朝政府着手组织对大运河的修凿。
大运河至元十三年(1276年)始凿济州河。至元十七年(1280年),疏通通州运河。至元十八年至二十年(1281-1283年),由奥鲁赤主持引汶水、泗水,从济州(今山东济宁)西北到须城安山(今山东东平西南)长150多里的济州河开通。曹路由淮河入泗水(今中运河),经济州河北抵安山,出大清河(今黄河下游),经东阿(今山东东阿南)、利津入海,然后由海运入直沽(今天津大沽口)转到大都。后又因海口淤沙壅阻,运道不通,又改由东阿陆运至临清(今山东临清南)入御河。至此,元代南北航运除东阿、临清之间一二百里陆路外,已经大致沟通。
至元二十六年(1289年)朝廷采纳寿张县尹韩仲晖等人建议,开会通河以通运道。会通河自须城安山西南起,分梁山泺(今山东梁山、郓城等县间的梁山泊)水源北流,经寿张(今山东梁山西北)西北到东昌(今山东聊城),又西北于临清入御河,全长250余里。工程由李处巽主持,历时六个月。中途建水闸30处,可以随时调整流量。至此,南北航运已全线沟通。
至元二十八年(1291年),按照郭守敬设计的方案开凿通惠河。通惠河导昌平县白浮村神山泉,通双塔榆河,引一亩、玉泉诸水入城,汇于积水潭,又东折而南,出文明门(今崇文门)至通州高丽庄入白河。后长164里,中设水闸21处,大致“每十里置一片闸”。工程历时一年,河成之后,漕船可以一直驶入大都城,“自是免都民陆輓之劳,公私便之。”
由通州南下至白河北运河北段,上接通惠河,下通大沽河,是南北通航要道,但是,由于所依赖的潞河(白水、榆水、浑水合流)水源不足,河道浅涩,通行不便。至元三十年(1293年),忽必烈采纳漕运使司建议,又引小渠水入榆水,以增加流量,便利行舟。
至元末年,还曾经对相当于旧邗沟的扬州运河进行疏通。扬州运河在灭宋后逐渐壅塞,连年疏通,成效不大,至延祐四年(1317年)方疏浚畅通。至治年间(1321至1323年),又对属江南运河的镇江支河进行疏凿。疏凿河段自镇江至常州武进县吕城坝(今江苏丹阳东南),长131里。疏凿后河面加阔至五丈,底阔三丈,深六尺。同时,还开浚了镇江运河的重要水源练湖(今江苏丹阳北)。
元朝政府着手陆续修凿完成的大运河全长3000多里,北起大都,南达杭州,沟通了海河、黄河、淮河、长江和钱塘江五大流域。元代大运河对于元维持专制主义统治有重要作用,同时促进了南北经济文化的交流,也为明清运河的畅通以至现代大运河的水运条件奠定了基础。