병마사는 고려시대, 양계(兩界) 지역에 파견되어 군사와 민사행정을 총괄하던 지방 장관이다. 989년(성종 8)에 설치되었다. 양계에는 각각 안북대도호부와 안변도호부를 두었고, 그 밑에 방어주와 진이 설치되었다. 주에는 방어사가, 진에는 진장이 파견되었고, 병마사는 주진제로 편성된 양계를 일원적으로 통할하였다. 병마사기구에는 3품으로 병마사와 지병마사, 4품관인 병마부사, 5품 내지 6품인 병마판관, 그리고 병마녹사가 설치되었다. 몽골 침입과 그 지배로 양계는 점차 일반 행정구역인 주현으로 개편되고 장관이 도관찰출척사로 바뀌었다.
변경 지대인 양계의 군사적, 민사적 행정업무를 총괄하면서 밑으로는 방어사(防禦使)와 진장(鎭將) 등을 통제하여 외적의 침입과 변경의 안정을 책임졌다. 병마사는 유사시 국왕으로부터 부월을 하사 받아 편의종사권을 행사하기도 하였다. 북방민족의 침입에 맞서 긴급한 군사사항은 중앙의 명령을 기다리지 않고 관할 내 병력을 동원할 수 있었다.
특히 무인정권 이후 병마사의 군사적 역할이 커졌다고 한다. 실제로 1231년(고종 18) 1차 몽골 침략 때 서북면병마사(西北面兵馬使) 박서(朴犀)가 안북부(安北府) 별초(別抄)를 거느리고 구주성(龜州城)에 들어와 정주 분도장군(靜州分道將軍) 김경손(金慶孫), 삭주 분도장군(朔州分道將軍) 김중온(金仲溫)을 비롯하여 정주(靜州) · 삭주(朔州) · 위주(渭州) · 태주(泰州)의 부사(副使)가 거느리고 온 군민들을 통솔하여 몽골 침략군과 맞서 싸웠던 사례가 있다.
한편 병마사의 군정 기능이 크지만 실은 외교, 민사행정 등 전반에 더 큰 영향력을 가졌다고 보기도 한다. 남도의 5도 안찰사(按察使)와 함께 양계의 병마사는 고려 지방관의 핵심 축이었다.
병마사의 민정 핵심은 수령에 대한 규찰과 관리 등이다. 관할 지역 백성들의 어려움을 살피고 요구사항을 중앙에 보고하여 해결하는 업무는 물론이고 형옥에 대한 재판과 처벌의 임무까지 수행하였다. 또한 관할 지역의 조세를 직접 징수하거나 세금 감면, 양전(量田)과 둔전(屯田)의 운용, 군수물자의 수송 등도 관장하였다. 군사적 기능도 병마를 직접 지휘하여 출동하였다기보다 군사 행정에 관한 사항을 중앙에 건의하는 일을 주로 하였다.
최근에는 병마사를 두 종류로 나누어서 이해하는데, 하나는 전투를 위하여 파견되는 병마사와 지방관으로 파견되는 병마사로 나누어 봐야 한다는 것이다. 전자는 행영병마사(行營兵馬使) 등을 말하고, 후자는 춘추(春秋)에 6개월마다 동북면(동계)과 서북면(북계)에 파견되는 지방관으로서의 그것을 말한다.
한편 명칭상 병마사를 총괄하는 것으로 설명하는 도병마사(都兵馬使)는 실은 역할과 기능이 비슷한 점 때문에 비롯된 것으로, 사실 종속관계를 갖지 않았다고 한다. 병마사는 양계 지역의 병권을 장악하고 있어 이를 통제하기 위하여 병마판사제를 두고 중앙의 재신(宰臣)들을 임명하여 개경에서 요령하게 하였다.
병마판관(兵馬判官)과 병마녹사(兵馬錄事)는 병마사의 명령을 받아 전투가 벌어졌을 때 직접 군사를 이끌고 작전에 참가하였다. 병마사의 권한이 비대해지는 것을 막기 위해 중앙에서 양계 지역에 분도장군을 파견하였고 감찰을 위해 도순검사(都巡檢使) 등을 파견하기도 하였다. 영리(營吏)가 있는 것으로 보아 고정적인 병마사영이 있었을 것이다. 무인정권 성립 이후에는 서북계 방수장군(防守將軍) 일부가 병마사기구의 병마판관을 겸직하였고, 신종 때에는 병마부사직까지 겸임하였다.