明朝洪武初年,皇帝朱元璋推行新政,肃清吏治,提出“杀尽贪官”的口号,决心建立清正廉洁的王朝。不想,其家乡濠州发生了以高峰、黄纲等农民为首的暴乱。御审中,黄纲招认造反的原因是“千户”黎洪强、张道光克扣修城劳工的粮饷,以致修城的一千多劳工饿死病死数十人。
工部左侍郎韩铎否认黄纲所说情况,向朱元璋进言,对高峰和黄纲等人严厉镇压。刑部尚书唐铎禀报,根据工部营膳所所丞郑士元揭发,韩铎上任后,伙同工部郎中丁嗣忠、翁经正、员外郎胡顺华、姚能玉等官员,不仅卖放工匠,还克扣工匠伙食,盗卖芦柴木炭等物资,私分非法所得款项。至于高峰和黄纲等农民造反引发的“濠州之乱”,也与韩铎对部下过分纵容有关。朱元璋查办涉案的丁嗣忠、翁经正、胡顺华、姚能玉等四人。韩铎事情败露被杀,
工部营膳所所丞郑士元揭发韩铎、丁嗣忠、翁经正等人贪污有功,获得朱元璋特别召见。郑士元以为告发韩铎等人贪赃枉法一事被驳回,身穿打了补丁的旧黑袍上殿请罪。朱元璋见其清廉奉公,不但没有降罪,反而赏赐两千贯钱给他贴补家用,并升其为监察御史。
郑士元虽然得到赏赐,却将钱财封存,以示清廉。朱元璋到其家中探望时看到郑士元果然克勤克俭,对其更加信任。风闻秦淮河上经常出现商人贿赂官员的“花船”,朱元璋遂带郑士元微服私访。在临河的一家酒肆,两人遇到教书先生韩宜可。韩宜可指认一条停在码头上的大船,告诉朱元璋,该船就很可能是条“花船”。朱元璋为查明实情,带郑士元和一名护卫军官乘小船追上大船,对船家谎称商人,登上该船。岸上的韩宜可看着朱元璋等人上了船,不知是吉是凶。
朱元璋等人登上大船,进入大舱,舱内四周坐满官员,茶几上摆满吃食酒水,官员们各拥美妓。荆州知府林万泉见有陌生人上船,责令通判李元生上前询问。朱元璋自称是在京任职的官员,骗过李元生,进入大船内的单舱查看。
暗访中,朱元璋在一间单舱内撞见徽州知府康清寿和大同知府周大为狎妓。待朱元璋离开后,周大为忽然想起刚才见到的人好像是皇帝朱元璋,遂拉着康清寿找到“花船”的庄家林万泉通报情况。林万泉,伙同康清寿和通州知府吴至清等人欲意弑君自保。随从军官觉察到船上气氛不对,劝朱元璋马上离开“花船”,朱元璋却执意不肯。
林万泉、康清寿等人集合了随身带领的贴身士兵正要行动,朱元璋等人出现在大舱门口。朱元璋的突然出震慑住了船上了士兵和官员,以康清寿为首的众人纷纷跪倒在船头。此时,岸上已经集了无数士兵。
及至大船靠岸,朱元璋命令对船上的官员,验明身份,尽数押解大理寺。见朱元璋上岸,韩宜可挤上前来谢罪。朱元璋欣赏韩的胆识的才学,当场封他为监察御史,希望他和郑士元一样能够协助自己纠劾奸邪、整肃官风。
鉴于“花船”一案是根据郑士元通报的民间“风闻”查获,朱元璋决定恢复风闻言事制度,在午门外设立“登闻鼓”,民间有冤情者,可直接敲登闻鼓向皇上申诉。刑部尚书唐铎和郑士元、韩宜可等人均表示赞同。朱元璋余兴未减,还想听听其他“风闻”,郑士元禀报定远知县朱桓在任上敲诈勒索贪赃枉法的传闻。由于朱桓是朱元璋的侄子,文武官员听郑士元说完无不惊愕。韩宜可表示也曾听说朱桓借皇亲国戚之威望在民间为非作歹的传闻。朱元璋遂派郑士元和韩宜可在赴潞州途中顺便查访定远县的传闻,表示如果传闻属实,要对朱桓严惩不贷。
刚到定远县城门口,郑士元和韩宜可见到朱桓送父亲朱六九出城。他们从百姓口中得知,朱六九进京去见皇上朱元璋。
在定远县,郑韩两人调查民情,获知当地税收问题严重。按朝廷规定,税收为三十税一,而定远县则按三十税三征收,另外还对茶叶、盐、油、布匹等加征税收。
朱桓曾在庐州府任职知府,因为贪污和强奸民女,被人告发。朱元璋本来要杀朱桓,后因堂兄朱六九求情,饶过朱桓死罪,贬到定远县。朱桓遭到贬谪,非但没有悔改,依然仗势欺人,滥收捐税,为非作歹。课税局大使吴金德是朱桓妻子吴氏的哥哥,平日里投其所好,不仅帮助朱桓征收苛捐杂税,还帮他寻找美貌女子。这天,吴金德带朱桓来到邀月酒店,见帮工小琴貌美,朱桓顿生歹意,强行把小琴带到酒店后面的房间施暴。
郑士元和韩宜可调查民情来到邀月酒店。听到后面房间有女孩子的叫喊声,郑士元查问究竟。在酒店放风的吴金德百般遮掩。等朱桓得逞后从后面出来,两从匆匆离去。