1543년(중종 38) 진사가 되고, 1552년(명종 7) 식년 문과에 을과로 급제해 승문원권지정자(承文院權知正字)에 보임되었고 곧 예문관검열과 정자 등을 역임하였다. 1555년 사가독서(賜暇讀書)에 선발되었고, 곧 부수찬을 지냈다.
그 해 을묘왜변이 일어나자 경상도평사(慶尙道評事)가 되어 유장(儒將)을 기르는 책임을 맡았다. 이어 수찬을 거쳐 병조와 이조의 좌랑을 지내고, 1556년 서장관(書狀官)이 되어 동지사(冬至使)를 따라 명나라에 다녀왔다.
1558년 이조정랑을 거쳐 홍문관부교리 · 의정부검상 · 사인 등을 역임하고, 사헌부장령 · 교서관교리를 겸하였다. 그 뒤 성균관직강을 지내고 승문원참교가 되었다. 1559년 장단부사(長湍府使)가 되어 치적이 많았다.
이조정랑으로 있을 때 현사(賢士)로 인정되는 사람만 기용하고 척신(戚臣)들의 추천은 들어주지 않았다. 이에 권신(權臣) 윤원형(尹元衡)이 박계현을 포섭하고자 혼인을 청했으나 거절당하자, 1560년 만포진 병마첨절제사(滿浦鎭兵馬僉節制使)로 임명하여 변방으로 내몰았다. 1563년 사간원대사간에 올랐다가 성균관대사성으로 옮겼고, 이어 예조 · 형조 · 병조의 참의를 두루 역임하였다.
1565년 도승지, 시약청제조(侍藥廳提調)를 거쳐 한성좌윤이 되었다가 대사헌이 되었다. 겨울에 하성절사(賀聖節使)로 명나라에 다녀왔고, 곧이어 경기도관찰사가 되었다. 1567년 경상도관찰사로 나가 권벌(權橃) · 이언적(李彦迪) 등의 신원을 계청했고, 이듬해 호조참판 등을 지냈다.
1573년(선조 6) 예조참판을, 1575년 전라도관찰사를 지냈다. 1577년 지중추부사와 호조판서 등을 역임하였다. 당시 동인 · 서인의 당쟁이 심해지자 이를 걱정해 제지하려 했으나 실패하였다. 시호는 문장(文莊)이다.
편서로는 『밀산세고(密山世稿)』가 있다.