본관은 진주(晋州). 자는 실보(實甫), 호는 서암(西庵). 보성 출신. 아버지는 연포만호 소규(蘇珪)이다.
1590년에 사재감주부(司宰監主簿)를 지냈다. 1592년 임진왜란이 일어나자 관군이 달천(㺚川)에서 패했다는 소식을 듣고 서울로 가던 중, 전주에서 김성일(金誠一)을 만나 의병을 모집하였다.
그리고 영남으로 가 진보군수 임계영(任啓英)의 휘하에서 별장(別將)이 되어 항시 홍의(紅衣: 붉은 색의 옷)를 입고 전투에 나갔다. 성주싸움에서 적과 분전 끝에 전사하였다. 뒤에 예조참의에 추증되고 정충사(旌忠祠)에 배향되었다.