본관은 삼척(三陟). 본명은 김상호(金尙鎬), 자는 경대(景大), 호는 백우(白愚). 충청북도 단양 출신.
을미사변과 단발령에 항거하여 1896년 의병이 봉기할 때 의병을 일으켰다.
처음에는 이강년(李康秊)과 함께 문경에서 안동관찰부사 김석중(金奭中)을 처단하는 등 기세를 크게 떨쳤다. 그뒤 제천 유인석(柳麟錫)의 진영에 합류하여 싸웠다. 1907년 고종이 퇴위당하고 정미조약이 체결되자, 이강년과 함께 다시 의병을 일으켜 중군장으로 항전하였다.
1908년 이강년이 체포되고 순국한 뒤에는 의병대장이 되어 경기도·강원도·경상도일대에서 항전하여, 그 용명이 세인을 탄복하게 하였다. 1910년 대한제국이 일제에 의하여 강점된 뒤에도 굴하지 않고 항쟁하다가, 1911년 5월 변절자의 밀고로 체포되었다.
체포된 뒤에도 의병의 기상이 돋보였는데, 결국 단식투쟁으로 항거하다가 옥사하였다. 김상태의 유언에 따라 이강년의 무덤 옆에 묻혔다.
1963년 건국훈장 독립장이 추서되었다.