张清,彰德府人氏,善用飞石打将,百发百中,人称没羽箭,原为东昌府守将,创下了连打梁山十五员战将的骄人战绩。宋江与卢俊义分兵攻打东平府、东昌府,约定先攻下城池者为梁山泊主。卢俊义率军前往东昌府,首阵便被张清以飞石打伤井木犴郝思文。次日再战,丁得孙又用飞叉击伤八臂哪吒项充。
卢俊义连输两阵,宋江前来救援。宋江闻讯转战东昌府后,张清施展飞石绝技,连打金枪手徐宁、锦毛虎燕顺、百胜将韩滔、天目将彭玘、丑郡马宣赞、双鞭呼延灼、赤发鬼刘唐、青面兽杨志、美髯公朱仝、插翅虎雷横、大刀关胜、双枪将董平、急先锋索超等梁山十五员战将,并将刘唐捉回城中。麾下副将花项虎龚旺、中箭虎丁得孙遭生擒。宋江为此割袍立誓,定要活捉张清。
吴用为引诱张清出城,命人水陆两路运粮。张清中计,带兵出城劫粮,以飞石击伤鲁智深,劫取陆路粮草。接着又去劫取水路粮草,被林冲率铁骑逼落水中,最终被阮氏三雄生擒。梁山诸将要求将张清处死。宋江力排众议,义释张清,并折箭为誓。张清归降梁山,且引荐兽医皇甫端。后来,龚旺、丁得孙也归降梁山。梁山大聚义时,排第16位,为马军八骠骑兼先锋使。
两赢童贯时,张清担任巡哨都头领,率领三十余骑哨马负责哨探,在童贯军前连哨三遭。后又率军截击童贯,与龚旺、丁得孙合力杀死嵩州都监周信。三败高俅时,张清先后以飞石打伤京北弘农节度使王文德、颍州汝南节度使梅展、八十万禁军都教头丘岳,并协助呼延灼生擒云中雁门节度使韩存保。招安后,张清随宋江南征北战,屡立战功。
征讨辽国时,张清以飞石打死番将阿里奇、耶律国宝,击伤洞仙侍郎,立下征辽第一功。攻打蓟州时被天山勇以暗箭射中咽喉,董平、史进等人将其救回,得安道全调理,保住性命。后担任关胜的副将,攻破太乙混天象阵中的土星阵,并与关胜、花荣合力杀死辽国统军大将兀颜光。
征讨田虎时,张清打伤壶关守将竺敬、山士奇,斩杀昭德守将孙琪。又化名全羽,到襄垣城卧底,并与郡主琼英成亲,暗中鸩杀枢密使邬梨。他假意杀败宋军,取田虎信任,后将田虎诱骗至襄垣城,将其生擒。平定河北后,张清与琼英押解田虎,入朝献俘。宋徽宗命张清复还原职,又封琼英为贞孝宜人,让二人协助宋江征淮西。
征讨王庆时,张清与琼英合力斩杀宛州副将郑捷,后又统领孙安、卞祥等十七员河北降将,担任前部先锋,夺取宛州,生擒守将刘敏。南丰之战中,宋江摆下九宫八卦阵,迎战王庆。张清夫妇负责哨探,大战淮西先锋刘以敬、上官义,并攻进南丰东门,协助宋江夺取南丰城。
征讨方腊时,张清因妻子琼英怀孕留居东京,独自跟随大军出征,后琼英生下儿子张节。宣州之战中,张清与守将潘濬交战,用石子将其打于马下。李忠赶上,将潘濬杀死。独松关之战中,张清与董平私下步行攻关,与厉天闰、张韬交战。但张清枪法稍逊,步战难用飞石,而董平左臂受伤,难以施展双枪,二人战力大打折扣。张清枪刺厉天闰,不慎刺入松树中,被厉天闰趁机刺死。董平去救时,被张韬从背后拦腰砍死。死后被朝廷追封为忠武郎。