据民国十八年《如皋县志》载:"在石家甸,道光三十年,里人丛盛鹿等捐建。光绪二十五年陈鹿其、陈映簧率子汝锡等捐修。姚启寅为之记。"捐建此桥是众人之善举,也是为万人造福,故名为"万善桥"。
万善桥包括引桥全长约30米,南北引桥长各约5米,主桥长约20米,宽约3米。南北两头水中桥墩都是由12块长1.5米、宽0.5米、厚0.2米的麻石块垒积3层,再用糯米汁、桐油和石灰砌成坚固的基础。
主桥龙骨是两根长约7米、直径约60厘米的圆木,圆木两头分别枕在两头的桥墩上。圆木上面铺着活动的木板。南岸边桥墩至北岸边桥墩的距离约6米,中间没有桥桩。水位高时,须把两桥墩中间的木板向南北两头搬分开,再将两根长圆木向两头抽开,大船才能勉强通过。
南北引桥是斜坡式的。由长1.5米、宽0.5米、厚0.2米的麻石块铺成长3米、宽5米的斜坡。桥墩中央水面向上有一块长约2米、宽约1.5米的白石,上有石匠镂刻的"万善桥"三个凸出繁体字。人在桥下水面或乘船经过此桥时才能看到这三个字。
万善桥古时是串场河上南北交通的要道,桥上人流不断。有的挑着货担到石甸街上做买卖;有的推着木轮车到街上卖棉花;有的到乡下串门走亲戚。小商小贩穿梭于万善桥南北到丁埝、林梓、白蒲做生意。万善桥下更是船流如织,来来往往的商船挂着白帆乘风破浪,驶向南通、扬州等城市。一种名为"摇摇快"的木船是载客的,船两头尖尖,中间坐着近20名乘客,船尾二至四名船夫打着号子,使劲摇桨。岸上的纤夫背纤快跑,船行得飞快。船前头有一个船夫手拿着小铜锣,当船靠岸上下客时使劲敲着,大声招揽顾客乘船。在水位高过桥时,万善桥上有两个力大的汉子抽桥板和圆木。当船通过桥时,他们就会用长竹篙子绑着一个柳条编织的圆形盒子从桥上伸到船上收取过桥费。一般过一次桥收30个铜钞或一角银洋钱。
万善桥连接河南、河北街市,给昔日的石家甸带来繁荣昌盛的景象。至抗日战争前夕,石家甸到了极盛时期,从街的东虹桥到西虹桥,形成由长条石铺成的约0.7公里长的集市商贸一条街。万善桥在东虹桥和西虹桥之间,形成三桥呼应的独特风景。