项羽听说刘邦已经夺占了关中,大为震惊,急忙封曾经的吴县县令郑昌为韩王,严密防守刘邦杀出函谷关。
张良怕项羽率军来攻打关中,于是写信给项羽说:“汉王只不过是想按照义帝当初的约定,得到关中之地而已,并没有争夺天下的野心,不敢向东用兵,请霸王放心。如今齐国和赵国已经结成同盟,发誓要灭掉楚国,曾派人来拉拢汉王一同反楚,但被汉王拒绝了。”
项羽接到张良的信函后,并没有信以为真,因为项羽现在已经肯定了张良是个说话不算数的小人。当初项羽分封完诸侯,下令诸侯各自返回封地,张良让刘邦去汉中时,烧毁栈道,一来可以防备别人攻打,二来可以给项羽制造出刘邦没有觊觎天下野心的假象。张良为此还亲自去对项羽说:“汉王如今把栈道烧毁,更是证明了他根本没有走出汉中的心意了。”项羽当时倒是相信了张良的鬼话。可是现在,刘邦却暗度出陈仓,占了关中,张良却又送信来说刘邦只想要关中,不想走出函谷关,这不是明摆着睁眼诳语吗?
项羽虽然不相信张良的谎言,但还是决定先不去讨伐刘邦。他认为有魏王魏豹和韩王郑昌两个人防守着刘邦,应该不会让刘邦轻易攻杀出函谷关。而赵国和齐国距离楚国最近,应该先平定这两个国家,然后再挥军攻打刘邦。
项羽知道田荣是齐、赵反叛的头脑,因此亲自率军先攻打齐国。冒着冬季的严寒,项羽率军进入齐国境内的城阳,田荣闻讯后急忙率军前来决战。田荣也是以打仗勇猛著称的,他从来没见过项羽在战场上的能耐,自以为论勇气自己一点也不会输给项羽。的确,田荣勇气可嘉,但论及武功才略,田荣就差得实在太远了,一向不曾打过败仗的田荣——根本没打过几场硬仗,而且他的仗没有什么出名值得称道的——在城阳旷野和项羽决战时,终于有了一种迷失自我的感觉,因为战场上的进攻节奏完全掌握在项羽手里,田荣拼死相争也争不过来。向来英勇善战的齐军被楚军斩杀大半后,溃散而去。田荣也落荒而逃,项羽派兵对田荣死咬不放,当田荣蓬头垢面地逃到平原县时,被当地百姓杀死。
项羽为震慑齐人,将田荣的降兵全部坑杀,对齐国百姓也进行了烧杀抢掠,这种高压政策,使生性坚毅的齐国百姓从一盘散沙慢慢地聚拢起来。项羽再一次犯下了严重的错误,他没有明白,虽然土地和百姓可以征服,但民心却不是用武力和恐吓可以征服的。齐国百姓对楚军恐惧和敌视的情绪直接被田横拿来利用,组织起数万军队,继续跟楚军周旋。田横主要以城阳为大本营与项羽对抗,项羽指挥军队将城阳围困,不断指挥军队攻打,但小小城阳却成了一座楚军无法征服的高山。这主要是因为城阳军民怕一旦城破,就将遭到楚军的屠杀,所以他们不要命地守城。项羽则想凭借霸气将齐国彻底征服,为此和齐军陷入了长期的鏖战。