函館本線
1898年(明治31年)7月16日:北海道官設鉄道上川線の空知太駅 - 旭川駅間が開業。滝川・江部乙・妹背牛・深川・納内・旭川の各駅と、伊納信号停車場を新設。同時に北海道炭礦鉄道の砂川駅 - 空知太駅間が借上げ。
1900年(明治33年) 5月11日:伊納信号停車場を駅に変更。 6月11日:北海道炭鉱鉄道と北海道官設鉄道の直通列車が手宮駅 - 旭川駅間で運行開始。
1901年(明治34年)12月5日:神居古潭簡易乗降場を新設。
1905年(明治38年)4月1日:北海道官設鉄道が鉄道作業局(国有鉄道)に編入。
2018年12月1日以降は、この徐行運転による遅れを加味したダイヤ設定となっている。
七飯駅 - 大沼駅間は本線(新函館北斗駅・仁山駅経由)と新線(下り専用:藤城支線)に分かれるが普通列車は基本的に本線を走る。ただ一部の下り普通列車で藤城支線を通るものもあり、藤城支線を通る列車は新函館北斗駅と仁山駅は経由しない。2016年3月26日の北海道新幹線開業によるダイヤ改正で特急列車は本線経由に統一されたが、藤城支線を通る普通列車も引き続き運転される。なお、1996年(平成8年)12月4日に貨物列車の速度超過による脱線事故のため線路・路盤が変形し、仁山駅経由の本線が不通となった際、復旧まで藤城支線を上下単線として使用していたことがあった。
大沼駅 - 森駅間は本線と砂原支線に分かれている。
五稜郭駅の普通列車の時刻表(2009年8月時点)。
函館駅では駅放送や電光掲示板などで、七飯駅以北へ向かう普通列車の経由を「仁山・鹿部経由」「藤城・大沼公園経由」のように案内している。
行先標や列車の車内自動放送では、大沼駅 - 森駅間の経由のみが案内される。
1987年(昭和62年)4月1日:国鉄分割民営化に伴い、北海道旅客鉄道(JR北海道)が第一種鉄道事業者として全線を承継。同時に、日本貨物鉄道(JR貨物)が函館駅 - 大沼公園駅 - 長万部駅間、手稲駅 - 旭川駅間、大沼駅 - 渡島砂原駅 - 森駅間(砂原支線)および砂川駅 - 上砂川駅間(上砂川支線)の第二種鉄道事業者となる。長万部駅 - 手稲駅間の貨物営業が廃止。東山・本石倉の各仮乗降場、稲穂・稲積公園・発寒中央・高砂の各臨時乗降場、仁山・姫川・桂川・鷲ノ巣・北豊津・渡島沼尻の各信号場がそれぞれ駅に変更。
1988年(昭和63年) 3月13日:海峡線開業に伴い、函館駅 - 五稜郭駅間が電化(交流20,000 V 50 Hz)。旭川駅の読み方を「あさひがわ」から「あさひかわ」に変更。 11月3日:琴似駅 - 札幌駅間の高架化により、札幌駅 - 苗穂駅間が複々線化。琴似駅 - 苗穂駅間の高架化完成。また、札幌駅 - 旭川駅間の軌道改良も同時に実施され、優等列車の速度向上に寄与した。
時期不明:1988年3月時点で、旭川駅 - 深川駅間運行の普通列車に「ユーカラ」、旭川駅 - 滝川駅間運行の普通列車に「いしかり」の愛称が付与されている。なお『JTB時刻表』1989年3月号では列車名が消去されている。
1989年(平成元年)3月11日:野田生駅 - 長万部駅間の最高速度を110 km/hから120 km/hに引き上げられる。また函館駅 - 野田生駅間の最高速度を従来の100 km/hから110 km/hに引き上げられる。
苗穂運転所所属。快速「ニセコライナー」および普通列車として蘭越駅 - 江別駅間で使用されている。前述の通り、731系との協調運転が行われている。
札幌近郊区間として千歳線直通の快速「エアポート」および普通列車が札幌駅を基軸に運転されている。札幌を起点とした都市圏輸送量(平成15年)は札幌駅 - 小樽駅間で年間2,365万人、札幌駅 - 岩見沢駅間で年間1,440万人に達している。ただし、札幌駅が始発・終着となる列車はあまり多くなく、札幌駅を越えて両方面を直通する運行形態が中心となっている。函館本線内で手稲・小樽方面と江別・岩見沢方面を結ぶ列車のほか、手稲・小樽方面と千歳線の千歳・新千歳空港および室蘭本線の苫小牧方面を結ぶ列車も多い。また手稲駅 - 札幌駅間には、特急車両の札幌運転所への回送を兼ねた「ホームライナー」が朝に下り3本運転されている。
小樽駅・手稲駅・札幌駅発着で岩見沢駅からさらに滝川方面と直通する列車も朝夕を中心に存在し、旭川駅発着列車も1往復設定されている。
桑園駅 - 札幌駅間は札沼線(学園都市線)用の単線が、札幌駅 - 白石駅間は千歳線用の複線がそれぞれ別線として存在し、いずれの列車もその別線を経由して札幌駅まで乗り入れている。