北港溪（赛德克语：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号）