鉴于楚王的固执,墨子转向公输盘。墨子解下腰带围作城墙,用小木块作为守城的器械,要与公输盘较试一番。公输盘多次设置了攻城的巧妙变化,墨子则全部成功地加以抵御。公输盘的攻城器械已用完而攻不下城,墨子守城的方法却还绰绰有余,公输盘只好认输,但是却说:“我已经知道该用什么方法来对付你,不过我不想说出来。”墨子也说:“我也知道你用来对付的方法是什么,我也是不想说出来罢了。”楚王在一旁不知道他们两个人到底在说什么,忙问其故,墨子说:“公输盘的意思不过是要杀死我,杀死了我,宋国就无人能守住城,楚国就可以放心地去攻打宋国了。可是,我已经安排我的学生禽滑厘等300人,带着我设计的守城器械,正在宋国的城墙上等着楚国的进攻呢!所以,即便是杀了我,也不能杀绝懂防守之道的人,楚国还是无法攻破宋国。”楚王听后又是大声说道:“说得太好了!”他不再固执地坚持攻宋,而是对墨子表示:“我不进攻宋国了。”
墨子成功地劝楚王放弃了进攻宋国的计划,便起程回鲁国。途经宋国时,适逢天降大雨,于是想到一个闾门内避避,看守闾门的人,却不让他进去。殊不知,正是墨子刚刚挽救了宋国,是宋国的恩人。