玛瑙山之战爆发于崇祯十二年（1640年），张献忠部被明军平贼将军左良玉、陕西总督郑崇俭、张令等部包围于太平（今四川万源）玛瑙山。此役明军大胜，张献忠败走归州。据《明史》记载，战前张献忠驻守于太平县大竹河（今四川万源市东北大竹河西岸大竹镇），左良玉则驻于渔溪渡（今四川万源市北与陕西交界处）。有见郑崇俭「引其兵来会」，献忠遂移师至地形险峻的玛瑙山据守防范。良玉带兵进抵山下时，献忠早已盘踞山颠，并「乘高鼓躁」，展示威势。良玉下马观察献忠阵势良久后说：「我知道要怎样攻破贼军了。」故下令全军分成三路，左军为两路，