向杲,字初旦,是太原人。他與庶母所生的哥哥向晟友情最為敦厚。向晟結交了一位妓女,名叫波斯,與向晟有割臂為誓終生永好的盟約。困為波斯的鴇母要的價錢太高,兩人始終沒有如願。正好鴇母想要從良,願意先把波斯嫁出去。有一個姓莊的公子,一向喜歡波斯,向鴇母請求買下波斯做妾。波斯對鴇母說:「既然母親和我願脫離這地獄而登入天堂,如果把我賣給別人做妾,與當妓女又有什麼區別!如果肯依從我的志向,只有向晟才合我的意。」鴇母答應了,並把她的意思轉告向晟。當時向晟的妻子死了,尚未再娶,他非常高興,竭盡家中所有的錢財,把波斯娶了回家。莊公子聽說後,惱怒向晟奪走了他喜歡的女人。一次在路上偶然碰到向晟,便大罵一頓。向晟不服,莊公子就叫隨從毒打向晟,打得快要死了,他們才走。向杲聽到消息急忙跑去看,他的哥哥已經死了。
向杲不勝哀痛悲憤,寫好了狀子到郡城去告狀。莊公子對上下官府都行了賄,使他有理得不到伸張。向杲心中憤怒鬱結,沒有地方控告訴說,只想著要在路上刺殺莊公子。每天揣著鋒利的刀,伏在山間路旁的草叢裡。時間長了,機密逐漸洩露出去。莊公子知道了他的打算,每出門就戒備森嚴。聽說汾州有個叫焦桐的人,很勇敢而且擅長射箭,莊公子便用很多錢把他聘來做護衛。向杲沒有辦法實旋他的計劃,但還是每天在路邊等著。有一天,他剛剛藏好,忽然下起了傾盆大雨,全身上下都濕透了,凍得打顫,頗吃苦頭,不一會狂風四起,又下起了冰雹。向杲身上忽然沒有了知覺,不知痛癢。山嶺上以前有座山神廟,他強支撐著跑到那裡。進了廟以後,就看見一個他認識的道士在那裡。從前,這個道士曾經在村裡討飯,向杲經常給他飯吃,因此道士也認識向杲。道士見向杲的衣服都濕透了,就給他一件布袍,說:「暫且把這件布袍換上。」向杲換上布袍,忍著寒冷,像狗一樣蹲著。自己看著身上,忽然長出了皮毛。身子變成了老虎。道士已不知道哪裡去了。向果心中既吃驚又憤恨。可轉念一想,這樣能找到仇人而吃他的肉,辦法也不錯。就下山到原來藏身的地方。看見自己的屍體趴在草叢中,才明白自己的前身已經死了。他還恐怕自己的身子被烏鴉和老鷹吃了,時時巡迴守護著它。
過了一天,莊公子才從這裡經過,老虎猛然竄出,把莊公子從馬上撲落下來,咬下莊公子的腦袋,吞了下去。焦桐掉轉馬頭,向老虎射了一箭,射中老虎的肚子,老虎倒下接著就死了。向杲在荊棘叢中,恍然好像一場大夢初醒。又過了一個晚上,才能行動走路,昏昏沉沉地回到家裡。家裡人因為他一連幾晚上不回來,正在驚駭疑慮,見到他,都高興地來安慰探問他。向杲只是躺著,反應遲鈍不能說話。過了一會兒,家人聽說了莊公子被虎咬死的消息,爭著到床頭高興地告訴他,向杲才自己說:「老虎就是我。」接著就講述了他奇異的經過。這事從此傳播出去。莊公子的兒子悲痛父親死得太慘,聽說以後很惱火,就去告了向杲。官府認為這件事很荒誕,而且沒有證據,置於一邊不予理睬。