함백탄전의 석탄을 수송하기 위해 산업철도로 개설된 노선이다. 지금은 태백선의 지선으로 기능한다.
정선군 고한읍과 태백시의 경계에 자리한 함백산에서 뻗어 내린 산줄기의 예미산 자락에 있는 함백마을과 함백탄광으로 연결되는 철도 노선이라는 데에서 명칭이 유래하였다.
함백선은 본래 중앙선의 제천역에서 분기하여 영월을 지나 함백역까지 이르는 60.7㎞의 산업철도를 지칭하였다. 영월선의 공사가 1949년 5월 3일에 시작되었고 제천역에서 영월역에 이르는 구간은 1956년 1월 17일에 개통하였다. 예미역에서 함백역에 이르는 함백선은 1955년에 착공하여 1957년 3월 9일에 개통되었다. 함백선은 선로 주변의 함백탄전, 영월탄전, 상동광산 등지에서 지하자원을 개발하는 데 크게 기여하였다. 특히 함백탄전에서는 함백선이 개통한 이후 무연탄 생산량이 크게 증가하였다.
현재는 함백선의 구간이 예미역에서 조동역 사이로 대폭 축소되었다. 태백선과 함백선이 모두 단선으로 이루어져 있기 때문에, 이들 두 노선을 합쳐서 복선 철도의 형태로 운영되기도 한다. 함백역에서 조동역에 이르는 구간에 1976년 12월 30일 길이 2,450m의 루프식 터널이 개통되어, 예미역부터 조동역 구간은 복선의 철도가 운영하는 셈이다.
함백선의 중간에 있던 유일한 역이었던 함백역은 1998년에 화물 취급을 중단하였다. 2004년 3월 31일에 통일호 열차가 운행을 중지하면서 함백선에서의 여객 운송은 중지되었고 2008년 1월 1일부터는 함백역에서 여객 취급도 중단되었다. 2006년 10월에 함백역 역사를 철거하였다가 2008년 11월 25일에 함백역 역사를 복원하였다.
태백선 남쪽으로 석항천 건너편에 부설된 함백선은 태백선의 보조 구간 역할을 하면서 중량의 화물 열차가 우회 운행을 할 수 있도록 기능하고 있다. 태백선의 경사가 급하기 때문에 루프식으로 건설된 함백선의 선로를 통해 철도가 운행하면서 경사를 극복할 수 있기 때문이다. 함백선 구간만을 별도로 운행하는 철도는 없다.