函館本線
函館駅 - 長万部駅間
室蘭本線・千歳線を経由して函館市 - 札幌市間を結ぶ幹線の一部で、特急「スーパー北斗」がほぼ1 - 2時間間隔で運転され、岩見沢駅 - 旭川駅間に次ぐ「特急街道」であるが、新函館北斗 - 長万部間は非電化で、一部区間では単線のままである。
なお優等列車の大沼駅 - 森駅間については、定期特急列車はすべて距離の短い駒ヶ岳回りの本線（大沼駅 - 大沼公園駅 - 駒ヶ岳駅 - 森駅間）経由で運転される。かつての特急・急行列車は本線の急勾配を避けるため、上りが砂原支線（大沼駅 - 渡島砂原駅 - 森駅間）・下りが本線（こちらが勾配を下る形となる）と分けて運転されていた。しかし、時代とともにエンジンをはじめとする車両性能が向上したことや、観光地である大沼公園があることから、特急列車のルートは次第に上下問わず本線経由に移行していった。なお、貨物列車は現在でも大沼駅 - 森駅間で上りが砂原支線・下りが本線と上下別の運転を行っている。七飯駅 - 大沼駅間は、2016年3月25日まで下り特急列車は藤城支線を経由していたが、同年3月26日以降は新函館北斗駅に停車するため、特急列車は上下とも本線経由で運転されている（下り貨物列車は現在も藤城支線を経由している）。
このほか函館駅 - 新函館北斗駅間には、北海道新幹線のアクセス列車として、快速「はこだてライナー」が運転されている。
長万部駅 - 札幌駅間
1986年11月1日のダイヤ改正で特急「北海」・急行「ニセコ」が廃止された後は定期運転する優等列車が設定されていない（ニセコ駅 - 札幌駅間などに臨時特急が運行される場合はある）。またこの区間は室蘭本線が不通になった場合の迂回ルートとしての役割を担う側面もあり、最近では2000年の有珠山噴火の際に多くの特急列車・貨物列車が迂回運転され、その役割の重要性が再認識された。なお通常は札幌を中心とする道内各地と本州を結ぶ貨物列車は長万部からすべて室蘭本線・千歳線経由で運行されており（「貨物輸送」の節を参照）、倶知安駅・小樽駅経由で長万部駅 - 札幌貨物ターミナル駅間に定期貨物列車は設定されていない。
札幌駅 - 旭川駅間
年間約450万人の都市間輸送量があるこの2都市間や、その中間都市を結ぶ特急「カムイ」「ライラック」が30分から1時間間隔で運転されている。また旭川駅から石北本線を経て北見・網走方面へ向かう特急「オホーツク」、および宗谷本線を経て名寄・稚内方面へ向かう特急「宗谷」も運行されている。なお旭川駅で「ライラック」・「カムイ」と石北本線・宗谷本線の特急を改札を出ないで乗り継ぐ場合、特急料金を通しで計算する特例がある。
このほか札幌駅 - 白石駅間には千歳線から優等列車が乗り入れる。室蘭本線を経由し上記函館方面から来る列車のほか、途中の室蘭駅からも特急すずらんが、また石勝線経由で根室本線帯広・釧路方面を結ぶ「スーパーとかち」・「スーパーおおぞら」が走る。これら千歳線からの列車は併設された千歳線列車用の複線を走行する。
長万部駅 - 小樽駅間
この区間では小樽駅を中心に列車が設定されており、普通列車のみのローカル輸送に徹している。朝に蘭越発札幌行き、夕方に札幌発倶知安行きでそれぞれ1日1本運転される快速列車「ニセコライナー」（旧称「マリンライナー」）もこの区間内では各駅停車となる。札幌駅発着の列車と、早朝上りの一部列車を除き、小樽駅または倶知安駅発着で運転される。長万部駅 - 小樽駅間の列車のほか、蘭越駅・倶知安駅・然別駅・余市駅折り返しの区間列車が設定されている。
利用客は小樽駅側でやや多く、日中でも余市駅 - 小樽駅間は1 - 2両の車内が混雑する。比較的列車本数の多い余市駅 - 小樽駅間で1時間に1 - 2本程度（時間帯により2時間近い間隔もある）の運転となっている（並行する路線バスのほうがはるかに多い）。この区間で最も列車の少ない長万部駅 - 蘭越駅間では、1日下り4本、上り5本のみの運行になっている。
2010年12月4日現在、快速「ニセコライナー」1往復と朝の倶知安発苫小牧行き1本、夜の小樽発倶知安行き1本をのぞき、ワンマン運転を実施している。例外があるのは、該当列車がワンマン運転に対応していないキハ201系による運用のためで、小樽駅 - 倶知安駅・蘭越駅間でも車掌が乗務している。この区間では、ニセコ周辺のスキーリゾートへ訪れる外国人観光客のため、ワンマン列車では英語放送が流れる。
小樽駅 - 札幌駅 - 岩見沢駅間
小樽駅を境に一気に列車の本数が増え、札幌近郊区間として快速「エアポート」（千歳線 新千歳空港直通）・区間快速「いしかりライナー」・普通列車が札幌駅を基軸に運転されている。札幌を起点とした都市圏輸送量（平成15年）は札幌駅 - 小樽駅間で年間2,365万人、札幌駅 - 岩見沢駅間で年間1,440万人に達している。ただし、札幌駅が始発・終着となる列車はあまり多くなく、札幌駅を越えて両方面を直通する運行形態が中心となっている。函館本線内で手稲・小樽方面と江別・岩見沢方面を結ぶ列車のほか、手稲・小樽方面と千歳線の千歳・新千歳空港および室蘭本線の苫小牧方面を結ぶ列車も多い。手稲駅 - 札幌駅間は、朝に手稲から札幌行きで特急車両の札幌運転所への回送を兼ねたホームライナーが運転されている。
桑園駅 - 札幌駅間は札沼線（学園都市線）用の単線が、札幌駅 - 白石駅間は千歳線用の複線がそれぞれ別線として存在し、いずれの列車もその別線を経由して札幌駅まで乗り入れている。
小樽駅 - 岩見沢駅間は日中の一部時間帯を除き、1時間間隔のパターンダイヤが組まれている。1時間に札幌駅 - 手稲駅間で8 - 9本、札幌駅 - 江別駅間で5本の運行となっている。手稲駅 - ほしみ駅・小樽駅間および江別駅 - 岩見沢駅間では運行本数は減る。
2007年9月30日までは、日中の大部分の区間快速が手稲駅 - 江別駅間を通して快速運転を行っていたが、翌10月1日のダイヤ改正でこの運行形態の列車は廃止され、手稲駅 - 札幌駅および札幌駅 - 江別駅間のどちらかを区間快速とする運転となった（「いしかりライナー」も参照）。
手稲駅では快速・区間快速と普通列車との相互接続が行われている。
2017年3月4日改正ダイヤの日中の各区間における1時間あたりの平均的運転本数は以下の通り。
岩見沢駅 - 滝川駅 - 旭川駅間
かつては普通列車の多くが小樽・手稲・札幌方面と滝川・旭川方面を直通運転していたが、現在では一部を除いて岩見沢駅で系統分割されており、札幌方面と滝川・旭川方面を普通列車で移動する場合、ほとんどが岩見沢駅で乗り換えとなる。岩見沢駅 - 旭川駅間では快速運転を行っておらず、すべての普通列車が各駅に停車する。
旭川運転所の配置気動車の効率的な運用のために、この区間では気動車の乗り入れも設定されている。
岩見沢駅 - 滝川駅間では一部の札幌や旭川方面に直通する列車も含め、1時間に1本程度の割合で普通列車が運転されているが、2時間ほど開く場合もある。この区間における普通列車は全列車が岩見沢駅と滝川駅を通して運転しており、途中駅で折り返すなど区間運転を行う普通列車は上下ともに設定されていないほか、岩見沢駅から室蘭本線へ直通したり、滝川駅から根室本線へ直通運転する列車もない。
滝川駅 - 旭川駅間の普通列車も多くが岩見沢駅まで直通運転しており、滝川駅 - 旭川駅間のみを運転する列車は少ない。また、この区間では気動車を使用した普通列車のみワンマン運転を行っている。ただし気動車を使用した普通列車でも札幌駅・岩見沢駅から直通運転する場合は、滝川駅 - 旭川駅間を除く区間で車掌が乗務する。区間運転は深川駅 - 岩見沢駅間と深川駅 - 旭川駅間に設定されているほか、旭川発で深川駅から留萌本線に直通運転する普通列車も1本設定されている。
普通列車の運転本数は滝川駅 - 深川駅間が最も少なく、頻繁に往来する特急列車とは対照的に3時間以上間隔が開く時間帯もある。
貨物輸送
貨物列車は、五稜郭駅 - 長万部駅間と札幌貨物ターミナル駅 - 旭川駅間で運行されている。函館駅 - 札幌駅間を直通する長距離旅客列車と同様に、長万部駅 - 札幌貨物ターミナル駅間は急勾配の続く「山線」を避け、距離は長いが線形の良い室蘭本線・千歳線を経由する。
五稜郭駅 - 札幌貨物ターミナル駅間には、コンテナ車のみで編成された定期の高速貨物列車が1日上下21本ずつ設定され、室蘭本線・千歳線とともに、本州と北海道を結ぶ幹線として機能している。なお、函館駅 - 長万部駅間の貨物駅は五稜郭駅のみで、貨物列車は運転停車をのぞき、途中駅には停車しない。
また五稜郭駅は青函トンネル用電気機関車EH800形が乗り入れるため、道内の貨物駅で唯一着発線が電化されている。新函館北斗駅 - 小樽駅・東室蘭駅間は非電化のため、すべての貨物列車は五稜郭駅（函館貨物駅）にて機関車交換を行う。五稜郭以北に営業運転の電気機関車は乗り入れず、海峡線・道南いさりび鉄道線をのぞいて道内を運行するすべての貨物列車はDF200形ディーゼル機関車が牽引する。五稜郭駅以外の電化区間上（東室蘭駅 - 沼ノ端駅 - 札幌駅間と小樽駅 - 北旭川駅間）にある道内各貨物駅は着発線を含めすべて非電化である。
札幌貨物ターミナル駅 - 旭川駅間で運行される列車は、基本的に宗谷本線に乗り入れ北旭川駅を起点・終点としている。この区間では、高速貨物列車に加え、専用貨物列車も運行されている。定期の高速貨物列車は、札幌貨物ターミナル発北旭川行が1日4本、北旭川発札幌貨物ターミナル行が1日2本運行されているほか、北旭川発で岩見沢駅から室蘭本線に乗り入れ、苫小牧・東室蘭方面へ向かう列車が1日2本運行されている。季節運行の臨時高速貨物列車は、根室本線富良野駅や石北本線北見駅と札幌貨物ターミナル駅を結んでいる。札幌貨物ターミナル駅 - 旭川駅間の貨物駅は、札幌貨物ターミナル駅と滝川駅がある。
専用貨物列車は室蘭本線本輪西駅 - 北旭川駅間で運行され、苫小牧駅 - 岩見沢駅間を室蘭本線、岩見沢駅 - 旭川駅間を函館本線を経由している。本輪西発北旭川行の列車は1日2本運行されており、石油製品を輸送するタンク車を連結する。その逆の、北旭川発本輪西行のタンク車返送列車は1日1本運行されている。これらの列車を補完する臨時の専用貨物列車も、本輪西駅 - 北旭川駅間に1日1往復設定されている。
なお、JR貨物は札幌貨物ターミナル駅 - 苗穂駅間においても第二種鉄道事業者となっているが、この区間を定期的に運行する貨物列車は設定されていない。
使用車両
室蘭本線直通列車・経由列車の車両は「室蘭本線#使用車両」も参照のこと。また、当路線の五稜郭駅 - 函館駅間のみを走行する車両や、札幌駅 - 白石駅間のみを走行する車両についてはそれぞれ直通先の「江差線#使用車両」、「千歳線#使用車両」を参照のこと。
現在の使用車両
普通列車は気動車と電車で運転されている。特急・急行・快速列車については、各列車の記事も参照。
今後の予定
2030年度を予定する北海道新幹線の新函館北斗駅 - 札幌駅間延伸時には、本路線の砂原支線・藤城支線を含む函館駅 - 小樽駅間が経営分離される予定である。
特に函館駅 - 新函館北斗駅間は北海道新幹線に並行していないため、函館市では当該区間の経営分離に反対する声が強かったが、2010年（平成22年）3月、JR北海道は函館本線の小樽以南全区間を経営分離する方針を打ち出した。2011年（平成23年）4月に初当選した工藤寿樹函館市長は、同年11月24日、バス転換しないことなどを条件に経営分離容認を表明。函館商工会議所を始めとする諸団体が依然として反対していたため正式決定が遅れたものの、12月21日には経営分離に同意した。
2016年11月16日、JR北海道が公表した「維持困難路線」に関するプレスリリースのなかで、本区間は「経営分離されるまでの間、施設のスリム化などに取り組み、効率的な運営を行ってまいります」とされた。
なお、小樽駅 - 札幌駅間は札幌都市圏輸送の使命を担っているため普通列車（快速含む）の本数・利用客共に多く、また、新千歳空港駅方面や岩見沢駅方面と一体的な運用を行っているなどの理由から、新幹線開業後もJR北海道が経営を継続する予定である。