경상북도 성주 출신. 사숙(私塾)에서 한학을 공부하고 광신상업학교(廣信商業學校)를 거쳐 정리사(精理舍)의 수학연구과를 졸업하였다. 평양의 기명학교(箕明學校)·대성학교(大成學校) 등에서 수학교사로 재직하였다.
그 뒤 서울의 휘문의숙(徽文義塾)에 교사로 있다가 1918년 중동학교(中東學校)를 인수하여 교장에 취임하였다. 일제강점기 초반 학생들에게 민족정신과 구국애족정신을 고취하기 위하여 1주일에 50여 시간을 가르치는 등 정성을 기울였다.
그러나 일제시대 기록물에서 조선 신궁(神宮: 神社)의 중일전쟁 기원제 발기인 및 임전보국단(臨戰報國團) 평의원을 지낸 것으로 기록되어 있으며, 1942년 6월 일제 관변지 『문교의 조선』에「죽음으로써 군은(君恩: 일본 천황의 은혜)에 보답하다」라는 글이 게재되는 등 일제에 협력하기도 하였다. 이글에 대해 2015년 서울교대 안천 명예교수가 "백농 선생 모르게 서무실 직원이 써서 주었다"고 진술하였다.
광복과 더불어 같은 해 9월 한국교육위원회가 조직되었을 때 7명의 위원 중 한 사람으로 일반교육의 책임자가 되었다. 이어 교육심의회가 조직되었을 때 제3분과 위원회에서 교육행정분야를 담당하였으며, 1947년 조선전기공업중학교를 인수하여 중동중학교와 함께 교장직을 겸임하였다.
그 뒤 서울시교육회장·서울대학교 이사장·조선교육연합회 회장 등을 지냈으며, 1949년 제3대 서울대학교 총장이 되었다. 1950년 6·25전쟁 때 납북, 평양에서 작고하였다.
1968년 건국훈장 독립장이 추서되었다.