楊志是三代將門之后,五侯楊令公之孫,因臉上生有一大塊青記,人稱青面獸。他自幼流落關西,早年曾應武舉,官至殿司制使官。后押送花石綱,卻在黃河里翻船失陷,不敢回京赴命,只得避難江湖。
林沖風雪山神廟后,投奔梁山,受到寨主王倫刁難,只得下山去取投名狀。楊志正逢恩赦,要去東京謀求復職,恰好路經梁山泊,遇到林沖。二人大戰五十余合,不分勝負,最終被王倫勸下。王倫有意招納楊志入伙,卻被楊志婉拒,只得放他離開。
楊志到東京后,通過門路見到了太尉高俅,卻被高俅趕出。他盤纏用盡,只得到天漢橋街市上變賣祖傳寶刀,卻又遇潑皮牛二尋釁滋事。牛二要強奪寶刀,再三糾纏。楊志“一時性起”,怒殺牛二,而后到開封府衙自首,被打入死囚牢。天漢橋百姓感念楊志為民除害,替他花錢上下打點。最終,楊志被免除死罪,只以“斗毆殺傷,誤傷人命”之罪,刺配北京大名府留守司充軍。
楊志到大名府后,卻得到北京留守梁中書的賞識,被留在府中聽用。梁中書見他做事勤謹,有心提拔他為軍中副牌,但卻擔心有人不服,便安排東郭門教場演武。[3]楊志比槍、斗箭,連敗副牌軍周謹。梁中書讓楊志接替周謹擔任副牌軍,卻惹惱了正牌軍索超。索超出場與楊志比武,大戰五十余合,不分勝敗。
都監聞達擔心兩敗俱傷,急命鳴鑼,并和李成一道稟報梁中書,稱二人皆可重用。梁中書便將索超、楊志同時提拔為管軍提轄使。東郭斗武影響很大,北京百姓看了也都歡欣不已。此后,楊志更得梁中書器重,與索超也是惺惺相惜。
梁中書為給岳父蔡京賀壽,搜刮十萬貫金珠寶貝,命楊志送往東京,號稱生辰綱。楊志為防盜賊劫奪,建議挑選十名軍士扮成普通商客,悄悄趕路,避免大張旗鼓,引人注意。他得知府中謝都管以及兩位虞候也要一同前往,又索要提調眾人之權。梁中書全部應允。
楊志押送金銀擔
趕赴東京途中,楊志催促軍士在天氣正熱時趕路,以致軍士都怨悵不已。他又不會安撫,遇到軍士懈怠,“輕則痛罵,重則藤條鞭打”,更激化了內部矛盾。謝都管也有所不滿。路經黃泥崗時,眾軍士不顧楊志勸阻,執意到松林里休息。這時,晁蓋、吳用等七人扮作販棗商人,也到岡上休息。
而后,七人在白日鼠白勝的配合下,用下了蒙汗藥的白酒迷倒楊志等人,劫走了生辰綱。楊志酒醒后,不敢回北京復命,只得逃走,欲投奔梁山。眾軍士擔心梁中書問罪,見楊志已走,便將過失都推到楊志身上,稱他勾結強盜,劫走生辰綱
楊志投奔梁山途中,在操刀鬼曹正的酒店吃酒,結識了曹正。曹正建議他到青州二龍山入伙。他前去二龍山,途中又遇到花和尚魯智深,得知二龍山寨主鄧龍不肯收留外客,便折返曹正店中,商討對策。曹正用計,協助魯智深、楊志殺死鄧龍,奪取二龍山。楊志便與魯智深一同做了山寨之主。后來,行者武松也到二龍山入伙。
雙鞭呼延灼征討梁山失利,敗逃到青州,為慕容知府征剿桃花山。桃花山頭領李忠、周通派人向二龍山求救。楊志與魯智深、武松一同前去救援,并與呼延灼大戰四十余合,不分勝敗。這時,白虎山頭領孔明、孔亮率軍進犯青州。呼延灼聞訊,連夜回軍,并生擒孔明。孔亮大敗而逃,途中又遇到率部回山的楊志等人。
魯智深欲聚集三山兵馬,一同攻打青州。但楊志卻認為三山兵馬不足以攻破青州,建議請梁山出兵援助。孔亮星夜趕赴梁山求援。宋江率軍下山,會合三山頭領,降服呼延灼,合力攻破青州城。楊志便與魯智深、武松等人一同加入梁山。
宋江繼任梁山寨主后,在忠義堂周圍設立四座旱寨。楊志坐鎮前軍寨,居第五位。
攻打東昌府時,楊志出馬迎戰張清,卻被張清用飛石擊中頭盔,竟嚇得“膽喪心寒,伏鞍歸陣”。
梁山排座次時,楊志排第十七位,星號天暗星,擔任馬軍八驃騎兼先鋒使,隨呼延灼把守正北旱寨。
兩贏童貫時,楊志在九宮八卦陣中鎮守西北乾位,并斬殺許州兵馬都監李明。
梁山受招安后,楊志隨宋江南征北戰,頗有戰功。
征討遼國時,楊志擔任呼延灼的副將,攻破太乙混天象陣中的火星陣。
征討田虎時,楊志隨盧俊義攻晉寧,斬殺偽統制秦英。他還曾斬殺霧凝州守將偃安。
征討王慶時,楊志與孫安、卞祥一同攻破六花陣。但在追擊西京守將奚勝時,中了西軍埋伏,被圍困在伊闕山深谷中。后幸得解寶走訪山民,尋得谷口,方才脫困。
征討方臘時,楊志剛剛渡過長江,便因患病被寄留在丹徒縣,未能繼續隨軍征戰。后病逝,葬于丹徒縣山園,追封忠武郎。