齐湣王极为昏庸,喜欢阿谀奉承,他一面对百姓搜刮一一奴一一役,一面大肆扩充军队,无故侵犯邻国。于是,引起了民怨和各诸侯国的憎恨。这一年,燕国派大将乐毅出兵攻打齐国,拿下齐国70多座城。最后,只剩下莒和即墨两座城。这时,一个田齐宗室远房的亲属名叫田单,是一个管理市场的小吏,由于战乱,他和家人逃到了即墨。紧接着,燕国出兵攻打即墨城。即墨大夫要出城迎战,田单劝他说,齐国现在兵力不强,不宜出去与敌军一一一交一一一战。这个大夫不听田单的劝说,结果战败被杀。接着,众人推田单为将军,守卫即墨城。
田单上任后,为了扩充军队,他把自家老小也编入队伍,城里很多百姓都很敬仰他,再加上田单为人忠厚、品德高尚,因此大家纷纷找他报名从军。很快,即墨城的士气就旺盛起来了。燕国大将乐毅率兵攻打莒和即墨,整整围困三年,也没有攻下来。即墨是一座难攻易守之城,而且还有充足的粮食供给,因此乐毅想要打持久之战。田单料到乐毅的计划,也知道他是善战的大将,料想燕军只要有乐毅在,就迟早会攻下即墨城。田单眼前的事情就是除掉乐毅。于是,他派人到燕国怂恿与乐毅不和官员,说乐毅的坏话。果然,有官员对燕惠王说:“乐毅半年之内就打下七十多座城,现在三年了却连两座城也拿不下。他恐怕是想要自立为齐王。”听了这话,燕惠王撤了乐毅的大将职位,任命骑劫为大将。看到燕王果然中计,田单长舒了一口气。
乐毅本来在燕军中很有威望,他被突然换掉,很多将士都心里不服。骑劫上任后,立即下令燕军把即墨围上好几层。几天后,燕军听到有百姓说:“以前乐将军太好了,抓到俘虏也会好好对待,齐国人才敢打仗。”还有人说:“我祖宗的坟还在城外,要是燕军把坟刨了,这可怎么办?”骑劫听到附近百姓的谈话,立马派人把这些百姓的鼻子削去,还把那些人的祖坟都刨了。即墨城里的人听到这事都很气愤,纷纷要求田单率领他们出兵与骑劫大战一场。这时,田单打发几个人装作即墨城里的富翁,让他们夜里偷偷地给骑劫送去金银财宝,并对骑劫说:“即墨城里的粮食快吃完了,没有几天就要投降了。到时候将军打进城的时候,一定要保全我们一家老小。”骑劫高兴地接受了财宝,心想:即墨城里没有粮食,看你们能撑几天?我也不用发兵,过几天你们就乖乖地来投降吧!于是,他放松了警惕,晚上也放心地睡起大觉来。
几天后,田单挑选了一千多头强壮的牛,并在它们身上画上奇怪的纹样。每头牛的牛角上还绑着两把刀,牛尾巴上也系着一捆浸了油的苇束。夜里,田单命人迅速凿开十几处城墙,把牛群赶到城外,将牛尾巴上点上了火。这时,牛尾巴着火,受惊的牛立马疯了一般向前面燕军兵营冲去。接着,齐军5000人拿着大刀,向敌营杀去,而城里的百姓则都拿起铜盆、铜器敲起来
。此时,燕军还在熟睡,突然听到惊天动地的呐喊声、敲打声,急忙起来。燕军睡眼朦胧中,看到一片火光,还有长相诡异的怪兽,很是惊恐。燕军一片慌乱,许多人来不及抵抗就被牛角上的刀扎死了,还有很多的燕军是在混乱中被自己人踩死的。这时,田单下令乘胜攻击,齐军奋力杀敌。侥幸活下来的燕军本想驾车逃走,结果被齐军围住杀死,齐军获得大胜。因为田单的巧设火牛计,齐国才避免了一场灭国的灾难。
公元前279年,田单打败燕及诸国军,收回了齐国被夺走的七十多座城。当时,齐湣王已被敌军杀害,田单找到藏在百姓家中避难的齐湣王的儿子田法章,拥其即位,这就是历史上的齐襄王。齐襄王即位后,田单被封为相国。后来,齐襄王又把全国的兵权一一一交一一一给田单掌管,田单加紧整训军队,齐国日渐强盛。