元滅南宋後,仍利用隋唐運河舊道轉運漕糧,路線大致是:由長江輾轉入淮,逆黃河上達中灤旱站(今河南封丘西南),陸運180裏至淇門(今河南浚縣西南),入禦河(今衛河),水運至大都。因運河河道多有壅塞,水陸轉運頗多不便,而海上運路往往風信失時,也多傾覆,於是元朝政府著手組織對大運河的修鑿。
大運河至元十三年(1276年)始鑿濟州河。至元十七年(1280年),疏通通州運河。至元十八年至二十年(1281-1283年),由奧魯赤主持引汶水、泗水,從濟州(今山東濟寧)西北到須城安山(今山東東平西南)長150多裏的濟州河開通。曹路由淮河入泗水(今中運河),經濟州河北抵安山,出大清河(今黃河下遊),經東阿(今山東東阿南)、利津入海,然後由海運入直沽(今天津大沽口)轉到大都。後又因海口淤沙壅阻,運道不通,又改由東阿陸運至臨清(今山東臨清南)入禦河。至此,元代南北航運除東阿、臨清之間一二百裏陸路外,已經大致溝通。
至元二十六年(1289年)朝廷采納壽張縣尹韓仲暉等人建議,開會通河以通運道。會通河自須城安山西南起,分梁山濼(今山東梁山、鄆城等縣間的梁山泊)水源北流,經壽張(今山東梁山西北)西北到東昌(今山東聊城),又西北於臨清入禦河,全長250餘裏。工程由李處巽主持,曆時六個月。中途建水閘30處,可以隨時調整流量。至此,南北航運已全線溝通。
至元二十八年(1291年),按照郭守敬設計的方案開鑿通惠河。通惠河導昌平縣白浮村神山泉,通雙塔榆河,引一畝、玉泉諸水入城,匯於積水潭,又東折而南,出文明門(今崇文門)至通州高麗莊入白河。後長164裏,中設水閘21處,大致“每十裏置一片閘”。工程曆時一年,河成之後,漕船可以一直駛入大都城,“自是免都民陸輓之勞,公私便之。”
由通州南下至白河北運河北段,上接通惠河,下通大沽河,是南北通航要道,但是,由於所依賴的潞河(白水、榆水、渾水合流)水源不足,河道淺澀,通行不便。至元三十年(1293年),忽必烈采納漕運使司建議,又引小渠水入榆水,以增加流量,便利行舟。
至元末年,還曾經對相當於舊邗溝的揚州運河進行疏通。揚州運河在滅宋後逐漸壅塞,連年疏通,成效不大,至延祐四年(1317年)方疏浚暢通。至治年間(1321至1323年),又對屬江南運河的鎮江支河進行疏鑿。疏鑿河段自鎮江至常州武進縣呂城壩(今江蘇丹陽東南),長131裏。疏鑿後河麵加闊至五丈,底闊三丈,深六尺。同時,還開浚了鎮江運河的重要水源練湖(今江蘇丹陽北)。
元朝政府著手陸續修鑿完成的大運河全長3000多裏,北起大都,南達杭州,溝通了海河、黃河、淮河、長江和錢塘江五大流域。元代大運河對於元維持專製主義統治有重要作用,同時促進了南北經濟文化的交流,也為明清運河的暢通以至現代大運河的水運條件奠定了基礎。