کتاب شبی که زهر شد داستان شب ضربت خوردن حضرت علی (ع) را با سه راوی روایت میکند. حرب، حلما و سعد. حرب: پسر بکر که اکنون یتیم است و کنار عمویش زندگی میکند. او آرزو دارد به بصره کنار مادرش برود و از یتیمی نجات یابد. برای همین به پول نیاز دارد. به همینخاطر با حنضل همراه میشود تا پول ابنملجم را بدزدد. او به همین بهانه با ابنملجم تا مسجد همراه میشود و ضربت خوردن امام علی(ع) را مشاهده میکند. حلما: دختری که خانهشان را در اثر سیل از دست میدهند و با پدر و مادرش راهی کوفه میشود تا زیر سایه خلیفه، امیرالمؤمنین علی (ع) زندگی خوبی داشته باشند. اما در راه، پدر را مار نیش میزند و میمیرد. حال، مادر مجبور به حصیربافی است و زندگی سختی دارند. حلما به دنبال راه نجاتی است و میخواهد شکایت به خلیفه ببرد که میفهمد امام ضربت خوردهاند و برحسب تصادف وارد خانه میشوند و شاهد ماجرا هستند. سعد: پسر ابناثیر، طبیب یهودی. که با پدر راهی منزل امام میشود و یکی از شاهدان ماجراست.
حَنظَل مدام با سر قلابسنگش پشت پایم میکوبد. اگر قلابش خالی بود، عیبی نداشت؛ اما یک سنگ بزرگ تویش است؛ همان سنگی که دیشب خودم از خرابه سوخته برایش پیدا کردم. صاف و صیقلخورده است؛ جوری که اگر محکم به چیزی بخورد، در جا، دخلش را میآورد. من هم با هر ضربه دردم میگیرد؛ اما چیزی نمیگویم؛ چون از حنظل میترسم. میترسم کتکم بزند. از آنهم بدتر، میترسم خودش تنهایی برود دنبال نقشهاش و من را نبرد.