善财自幼孤苦,以竹篮糊纸卖水为生。一日挑水时,井中传来呼救声,他冒险跳入井底,救出被困五百年的黑蛇精。蛇精脱困后却背弃承诺,声称饥饿难忍要吃掉善财,并强辩“恩将仇报即为道理”。善财提出寻人评理,蛇精同意,两人遂同行。
途中遇农夫执斧砍伐老果树,果树控诉其忘恩,农夫却称“树归我所有,砍伐即道理”。蛇精借此例证己身行为合理,善财仍坚持再寻评判。二人至河边,青蛙劝诫蛇精“善恶有报”,反遭蛇精威胁,最终躲入水中。
危急之际,一少女现身阻拦蛇精,质疑其被救经历。蛇精自述因残害生灵被观音封印镜瓶,少女现出观音真身,以镜瓶收服蛇精。观音点化善财“需明辨善恶”,将其收为童子。善财叩拜受命,终成观音座下善财童子,故事亦暗喻因果循环与慈悲渡化之理。