본관은 청주(淸州). 자는 순우(舜佑), 호는 강석(江石). 서울 출신. 부사 한승렬(韓承烈)의 아들이며, 총융사(摠戎使)를 지낸 한규직(韓圭稷)의 동생이다.
일찍이 무과에 급제하여 여러 관직을 거쳐 28세에 진주병사에 발탁되었다. 1883년(고종 20) 전라좌수사가 되고 이듬해 경상우병사, 1885년 금군별장(禁軍別將)을 거쳐 우포도대장(右捕將)에 임명되었다. 그런데 이 무렵 갑신정변에 연루되었던 유길준(兪吉濬)을 연금 형식으로 보호하고 있으면서, 『서유견문(西遊見聞)』 집필을 도와 완성할 수 있도록 해주었다.
그 뒤 친군우영사(親軍右營使) · 상리국총판(商理局總辦) · 기기국총판(機器局總辦)을 거쳐 1887년에 형조판서, 이어 한성부 판윤에 임명되었다. 그 후 우포장 · 형조판서 · 한성부 판윤 · 친군장위사(親軍壯衛使) · 연무공원판리사무(鍊武公院辦理事務) 등을 차례로 역임하고, 1894년 총어사(摠禦使), 1896년 법부대신 겸 고등재판소 재판장에 임명되어 사법집행의 공정을 기하려고 노력하였다.
그리고 당시 독립협회(獨立協會)가 결성되자 활동에 호의적 태도를 취하였으며, 1898년에는 독립협회가 주최한 만민공동회(萬民共同會)의 열기가 고조되는 가운데 중추원 의장(中樞院議長)으로 임명되고, 다시 법부대신으로서 고등재판소 재판장을 겸임하였다. 그러나 이듬해 정부의 탄압으로 독립협회가 해산당하게 되면서 본직에서 해임되었다.
1901년 궁내부 특진관(宮內府特進官)에 이어 이듬해 다시 법부대신에 임명되었다가, 의정부 찬정을 거쳐 1905년 의정부 참정대신이 되어 내각을 조각하였다. 그런데 당시 일제가 전권대사 이토[伊藤博文]를 앞세워 을사조약을 체결하려 하자 끝까지 앞장서서 반대하였다. 이에 일제는 갖은 협박을 가했으나 뜻을 굽히지 않자 결국 대궐 수옥헌(漱玉軒) 골방에 감금하고 본관(本官)을 면직시켰다.
을사조약이 강제 체결된 뒤 곧 징계에서 풀려나 중추원 고문 · 궁내부 특진관을 역임하였다. 그리고 일제가 강제로 국권 피탈 후에 남작(男爵)의 작위가 주었으나 받지 않았다. 이후 칩거생활을 하다가 1920년 이상재(李商在) 등과 함께 조선교육회(朝鮮敎育會)를 창립하였으며, 그 뒤 민립대학기성회(民立大學期成會)로 발전시켰다.