사천(四川) 미산(眉山) 사람으로, 아버지 순(洵), 아우 철(轍)과 함께 '3소(三蘇)'라고 불리우며, 모두 당·송 8대가에 속했다. 소식은 시, 사, 문, 음악, 서법 등에 깊은 조예가 있었고, 정치에도 높은 견해를 가지고 있었다. 21세 때 진사가 되어 벼슬길에 들어섰으나, 북송 때의 격렬한 변법운동(變法運動) 및 신구 당쟁의 소용돌이 속에서 몇 차례 좌천당하는 등 정치적으로는 불운을 겪었다.
혁신 정치 세력에 밀려 항주(杭州), 밀주(密州 = 현 산동성(山東省) 제성(諸城)), 서주(徐州 = 현 강소(江蘇)), 호주(湖州 = 현 절강(浙江)) 등의 지방관을 주로 역임하였다. 휘종(徽宗)이 왕위를 이은 뒤에 귀양으로부터 풀려나 수도로 돌아가는 도중 상주(常州)에서 병사하였다.