1750년(영조 26) 식년 진사시에 입격하였고, 장녕전참봉(長寧殿參奉) · 의금부도사(義禁府都事) 등을 지냈다. 1770년(영조 46년) 영조가 주관한 구일제(九日製)에서 수석을 차지하여 직부전시(直赴殿試)의 자격을 얻었다.
다음해 식년 문과에서 병과로 급제하였고, 전적(典籍) · 예조좌랑 · 병조정랑 등에 제수되었다. 1775년(영조 51)과 1776년(정조 즉위년) 영조와 정조가 문신을 대상으로 시행한 제술(製述)에서 모두 수석을 차지하여 선물을 하사받았다.
이후 1779년(정조 3) 연천현감(漣川縣監), 1783년 운산군수(雲山郡守), 1792년 영양현감(英陽縣監) 등에 임명되어 지방관을 역임하였다. 1797년(정조 21) 장령에 제수된 박도상은 영양현감 시절 경험하였던 영남의 폐단을 10개의 조목으로 정리하여 상소를 올렸다.
그는 상소에서 "학술의 병통, 서원의 폐단, 향교의 낮은 비중, 과장(科場)의 폐단, 환향(還餉)의 폐단, 양역(良役)의 폐단, 호적의 폐단, 문교(文敎)의 쇠퇴, 무예의 등한시"를 사회문제로 꼽으며 ‘수령을 가려 임명할 것’ 등의 해결책을 논하였다.
1800년(정조 24) 참지를 역임하였고, 5년 뒤인 1805년(순조 5) 78세의 나이로 사망하였다.
시문에 능하였으며, 특히 변려문(駢儷文)과 제술(製述)에 뛰어난 재능이 있다고 평가받았다