명진여객에서 수십년 전부터 운행한 경기도 광주 - 천호동 간 시외완행 노선이 시초다. 이후 동서울터미널이 개장하며 이 곳으로 종점이 연장되었다.
1990년대에 경쟁노선이던 13번보다는 다소 늦게 시내버스로 형간전환되어 대원고속[3]과 쟁쟁한 경쟁을 벌였던 노선이었다. 15번과 거의 동일한 115번 좌석 노선도 있었고 KD의 13번과도 노선이 동일해 피터지는 레이스 경쟁을 펼쳤다. 그러다 KD에서 하남시와 43번국도 대신 중부고속도로로 쭉 달리는 1113-1번을 개통시켰고 수요가 그쪽으로 몰리면서 명진의 참패로 끝났고 이 때(1996~7년) 광주, 이천, 여주, 하남 지역이 고스란히 KD 운송그룹의 수중으로 넘어오면서 15번도 대원고속이 운행하게 되었다.
이후 13번과의 중복을 이유로 기존 구간은 폐지하고 15번의 인가를 이용하여 남양주 덕소 - 구리시 - 강변역 노선으로 재편하였다. 1999년부터 2000년대 초반까지는 팔당까지 운행했다가 2003년 즈음 도곡리(덕소) 출발로 바뀌고 이후 2005년을 전후로 경기고속으로 이관.
2009년 8월 26일부로 112-3번 인가 2대를 15번으로 가져와 증차했다.
2019년 5월 1일에 경기여객이 공동배차에 참여했고, 2019년 6월 3일에 완전히 이관되었다.
2020년 12월 1일에 '롯데백화점 ~ 돌다리 ~ 구리시청 ~ 구리경찰서' 구간이 '롯데백화점 ~ 구리여고 ~ 동명빌라 ~ 구리경찰서' 구간으로 변경됨과 동시에 전세버스로 운행하던 1-8번의 운행이 종료되었다. #
그러나 97번의 아산병원 연장 및 증차로 인해 도농역 ~ 강변역에서의 입지가 조금 타격이 가더니, 현재는 5대만 운행중이며 배차간격은 30~40분이다.[4]
팔당 동막골에서 도곡리종점으로 단축된 것 외에는 20년 가까운 세월에 노선변경이 거의 없었으나, 2020년 12월 1일부터 장자대로 일대의 토평.교문택지 주민들의 편의를 위해 구리시 구간에서 큰 폭으로 바뀐다. 93번과는 남양주제2청사부터, 91번과는 검배사거리부터 겹치게 되는데 이 두 노선은 각각 40~50분, 50~80분 간격으로 현재 15번보다 더한 파행운행중에다가 덜 겹치지만 그나마 자주 다니는 95번은 유사한 버스가 제대로 못 다니는 상황에다 다산신도시 진건지구에서의 인파때문이고 덕소에서는 수택동 일대(구리여고, 토평고, 구리고)로 한번에 가는 노선이 구 1166번 직행좌석버스[5] 이후로 오랜만에 다니게 되지만, 돌다리 정류장으로 가는 노선이 1개 감소하게 되는데, 덕소 주민들이 동네 버스처럼 많이 이용해온 이유 중 하나가 돌다리 연계인만큼 불편함이 예상된다. 그 탓에 덕소에서 돌다리를 잇는 버스는 이제 166-1번이랑 166번 뿐이다.