延綏鎮柳樹澗堡(現在の陝西省楡林市定辺県郝灘鎮劉渠村)の出身。もとは軍籍にあったが法を犯して除籍された。崇禎3年(1630年)に王嘉胤が反乱を起こすと、米脂県にいた張献忠はこれに呼応し八大王を自称した。間もなく高迎祥の下に投じて東方へ進出し、山西・河南を転戦した。 後に李自成との反目から高迎祥の敗死を招くも、黄河流域へ進んだ李自成と袂を分かち長江流域へ攻め込み湖南・江西から四川に侵入して独立勢力を形成した。崇禎10年(1637年)には明軍の総兵官の秦良玉の部隊の攻撃により張献忠の軍は大きな損害を受け本人も負傷した。 一時は官軍に降り、崇禎11年(1638年)には襄陽府穀城県の副将となり王家河に駐屯したものの、崇禎12年(1639年)に再度明朝に対して反旗を掲げ四川省との境界付近を転戦した。崇禎14年(1641年)に襄陽を破り襄王朱翊銘を殺し、1643年に武昌を拠点として「大西王」を称した。