北港溪（賽德克語：Yayung Qnahaqun；Pak-káng-khe）位於臺灣中西部，屬於中央管河川，為雲林縣與嘉義縣的界河。流域面積則有645.21平方公里，遍及雲林縣十個鄉鎮，分別為斗六市、斗南鎮、虎尾鎮、土庫鎮、大埤鄉、元長鄉、北港鎮、口湖鄉、水林鄉、古坑鄉；還有嘉義縣六個鄉鎮：溪口鄉、新港鄉、六腳鄉、東石鄉、大林鎮、梅山鄉。主流河長約82.00公里，為全國第十長河流，全溪蜿蜒漫長，雨、旱季水位高低明顯。
歷史
在完稿于清康熙三十八年至四十三年（1699-1704年）的《康熙臺灣輿圖》上，今北港溪並未標出名稱，其上游僅繪出石龜溪、三疊溪兩條主要支流，但其方位與今相較南北倒置；今虎尾溪則尚未出現。輿圖中北側另一獨立水系濁水溪的下游繪出西螺溪、虎尾溪兩條分流，但當時的虎尾溪係指今舊虎尾溪。
在完稿于乾隆二十二年至二十六年（1757-1761年）的《乾隆臺灣輿圖》上，石龜溪、三疊溪方位已改為與今相同。輿圖中濁水溪分流虎尾溪的下游已再形成虎尾新溪（今新虎尾溪）、虎尾舊溪（今舊虎尾溪）兩條分流，而且虎尾舊溪明顯為主流。
嘉慶七年（1802年）七月，大雨數日，濁水溪洪水向南在他里霧地區衝出一條新的溪流，經由鹿藔通往笨港（今北港），再以「新虎尾」稱之，即今北港溪上游的虎尾溪。不過該河道在道光、同治年間的輿圖仍未出現，直到光緒年間的輿圖才繪出。
該次改道使得北港溪成為濁水溪的下游分流之一，而且水患破壞了北港溪畔的笨港聚落。三疊溪北側的幾條溪流包括大湖口溪、石牛溪、石榴班溪等，原本都是獨流入海。在乾隆、嘉慶年間的幾次水患里，被併入而成為虎尾溪的支流。1911年興建堤防切斷濁水溪分流至北港溪的水道，北港溪始回覆為獨立的水系。
1959年在臺灣發生的嚴重災難——八七水災，北港溪上游地區降水量最多，洪水淹過堤防，衝向虎尾、斗南、斗六、土庫、北港等地，造成嚴重災害。隔年受到雪莉颱風影響，也發生了嚴重的水患。
源頭
北港溪主流上游為虎尾溪，其源頭眾多，最遠源頭為支流海豐侖溪上游尖山坑溪的源頭，位於雲林縣古坑鄉海拔857公尺的樟湖山西北坡；全流域海拔最高的源頭為支流大湖口溪的源頭，位於古坑鄉海拔1,305公尺的大尖山附近；而傳統資料上的源頭則為林內鄉、斗六市邊界上海拔222公尺的七星嶺。
流域概述
北港溪最遠源流名為尖山坑溪，發源于雲林縣古坑鄉樟湖山西北坡，向西北方流至荷包厝后，改稱海豐侖溪。續流至斗六市海豐侖后，注入虎尾溪本流，流至溪口鄉柴林腳與三疊溪匯合后，始稱為北港溪。
北港溪支流甚多，較大者為三疊溪、大湖口溪、石牛溪。是云嘉平原的主要灌溉河川，孕育作物有稻米、花生、糖和黃麻。最後在雲林縣口湖鄉出海。由於北港溪上游，阿里山一帶的水土皆因觀光、農業大量開發，使得北港溪的土壤沉積相當嚴重，加以下游流域廢水污染也相當嚴重，其中養豬廢水佔了45%、生活污水有35%、工業廢水則占15%，在2006年環保署發表水質檢測調查報告時，北港溪有47.2%的河段為嚴重污染（在石榴班橋以下之河段，水質皆遭到嚴重污染，此段污染程度高達83%），比2004年的43%，增加4.2%。
北港溪和樸子溪的出海口間所形成的區域為鰲鼓濕地，屬於臺糖公司所有，濕地上有水田、旱田、防風林、草澤、深水沼澤、泥質灘地等棲地型別。每年9月到次年5月是賞鳥期，觀察記錄指出水鳥約有70種，鷸科有23種，加上其他鳥類約可觀察到154種以上的鳥類。由於濕地曾計劃設立工業區，而引發當地居民與環保人士的對立，當地居民組織「趕鳥隊」，影響賞鳥活動，后因嘉義縣政府的環境評估報告無法通過，開發案暫時擱置。
水系主要河川
以下由下游至源頭列出水系主要河川，其中粗體字為主流河道：
* 北港溪：雲林縣、嘉義縣
 * 新街排水：雲林縣水林鄉、北港鎮
 * 埤子頭大排：嘉義縣新港鄉、溪口鄉、民雄鄉
  * 柳構大排：嘉義縣新港鄉、溪口鄉、民雄鄉
  * 民雄大排：嘉義縣新港鄉、溪口鄉、民雄鄉
 * 客仔厝大排：雲林縣北港鎮、元長鄉、土庫鎮
 * 三疊溪：嘉義縣溪口鄉、雲林縣大埤鄉、嘉義縣大林鎮、民雄鄉、梅山鄉
  * 延潭大排：雲林縣大埤鄉
  * 華興溪（舊名石龜溪、到孔山溪）：嘉義縣溪口鄉、大林鎮、雲林縣大埤鄉、斗南鎮、古坑鄉、嘉義縣梅山鄉
  * *早知溪：嘉義縣大林鎮
  * *番尾坑溪：雲林縣古坑鄉
  * 中林溪：嘉義縣大林鎮、梅山鄉
  * *大埔美溪：嘉義縣大林鎮、梅山鄉
  * 麻園溪：嘉義縣大林鎮、梅山鄉
  * *葉子寮溪：嘉義縣大林鎮、梅山鄉
  * 南靖溪：嘉義縣梅山鄉
  * 九芎坑溪：嘉義縣梅山鄉
 * 虎尾溪：雲林縣元長鄉、大埤鄉、土庫鎮、虎尾鎮、斗南鎮、斗六市、莿桐鄉、林內鄉、古坑鄉
  * 大湖口溪：雲林縣大埤鄉、斗南鎮、古坑鄉
  * 石牛溪：雲林縣虎尾鎮、斗南鎮、斗六市、古坑鄉
  * *侖子溪：雲林縣斗南鎮、古坑鄉
  * **嵌頂溪：雲林縣古坑鄉
  * *松柏坑溪：雲林縣古坑鄉
  * 雲林溪：雲林縣斗南鎮、斗六市、古坑鄉
  * *芭蕉溪：雲林縣斗六市、古坑鄉
  * 干溪（斗六東溪）：雲林縣斗六市、林內鄉
  * 海豐侖溪：雲林縣斗六市、古坑鄉
  * *尖山坑溪：雲林縣古坑鄉
  * 大埔溪（當地人稱外湖溪口以下為石榴班溪）：雲林縣斗六市、林內鄉
  * *外湖溪：雲林縣斗六市
  * 石榴班溪（當地人稱梅林溪口以下為林子頭溪，以上為埤子頭溪）：雲林縣斗六市、古坑鄉
  * *牛埔仔溪：雲林縣斗六市
  * **楓樹湖南溪：雲林縣斗六市
  * *咬狗溪：雲林縣斗六市
  * *梅林溪（內林溪）：雲林縣斗六市、古坑鄉
  * *石仔坑溪：雲林縣古坑鄉
  * *黃德坑溪：雲林縣古坑鄉
  * *圳頭坑溪：雲林縣古坑鄉
主要橋樑
以下由河口至源頭列出主流上之主要橋樑：
北港溪河段
* 云嘉大橋（省道臺61線、臺17線共線）
* 松山大橋
* 媽祖大橋
* 北港大橋（省道臺19線）
* 北港觀光大橋
* 北港女兒橋
* 高鐵北港溪橋（臺灣高鐵）
* 侖子橋（縣道145甲號）
虎尾溪河段及其支流
* 無名橋（鄉道云86線）
* 聯美大橋（鄉道云173線）
* 土庫大橋（縣道158甲號）
* 省道臺78線虎尾溪橋（省道臺78線）
* 興南大橋
* 虎尾鐵橋（舊臺糖鐵路）
* 平和橋（縣道158號）
* 國道1號虎尾溪橋（國道1號）
* 虎尾溪橋（省道臺1線）
* 新榮橋（省道臺1丁線）
* 榮橋
* 竹圍大橋
* 施瓜寮橋（縣道154乙）
* 萬年橋（鄉道云85線）
* 德安橋
大湖口溪河段
* 豐岡橋（鄉道云86線）
* 溝心橋（鄉道云179線）
* 善陀橋（鄉道云181線）
* 大湖口溪橋（省道臺78線）
* 大湖口溪橋（國道1號）
* 善浩橋（鄉道云85線）
* 善進橋（斗南鎮南昌西路）
* 大湖口溪橋（省道臺1線）
* 大湖口溪橋（臺鐵縱貫線 (南段)）
* 自治橋（斗南鎮信義路）
* 大湖口溪三號橋（省道臺78線）
* 侖仔橋
* 南勢橋（鄉道云189線）
* 東耕橋（鄉道云194線）
* 興昌橋（省道臺3線）
* 大湖口溪橋（國道3號）
* 光華橋（鄉道云210線）
* 公館橋（鄉道云212線）
* 光山橋（鄉道云209線）
石牛溪河段
* 雙東大橋（鄉道云84線）
* 石牛溪橋（國道1號）
* 小東橋（斗南鎮大同路）
* 石牛溪橋（省道臺1線）
* 石牛溪橋（臺鐵縱貫線 (南段)）
* 善功橋（鄉道云82線）
* 省道臺78線石牛溪河川橋（省道臺78線）
* 柴里橋（省道臺3線）
* 溪洲仔橋（鄉道云193線）
* 水碓南橋（縣道154乙號）
* 國道3號石牛溪橋（國道3號）
* 大埔橋（縣道154甲號）
海豐侖溪河段
* 海豐侖溪橋（臺鐵西部幹線）
* 海豐侖橋（省道臺3線）
* 斗山橋（鄉道云214線）
* 重光橋（鄉道云215線）
* 東和橋（鄉道云213線）
* 豬母墓橋
* 東圳橋
* 國道3號海豐侖溪橋（國道3號）
* 荷北橋
尖山坑溪河段
* 觀音山橋
* 地母橋（縣道149甲號）
* 建德橋（縣道149甲號）
* 土地公橋（縣道149甲號
林子頭溪河段
* 林子頭溪橋（臺鐵縱貫線 (南段)）
* 石榴班橋（省道臺3線）
石榴班溪河段
* 竹圍三號橋（斗六市中興路）
* 石榴班橋（臺鐵縱貫線 (南段)）
* 石榴橋（省道臺3線）
三疊溪及其支流
* 和平橋（縣道157號）
* 溪口橋（縣道162號）
* 三疊溪橋（國道1號）
* 三疊溪橋（省道臺1線）
* 三疊溪橋（臺鐵縱貫線 (南段)）
* 中正橋（縣道162乙）
華興溪河段
* 石龜溪橋（國道1號）
* 石龜溪橋（省道臺1線）
* 倒孔山溪橋（臺鐵縱貫線 (南段)）
* 華興橋（鄉道云187線）
* 石龜溪橋（國道3號）
* 云祥橋（省道臺3線）
* 新興橋（鄉道云205線）
* 廣水橋（鄉道云207線）
* 心慈橋（縣道149號）