不久張繡恃勳驕慢,專恣弄權,蕭銑對其厭惡至極,隨即授意他人,殺!就這樣,誅殺的食物鏈一直在延續。大臣相次誅戮,老朋友之間都互相猜忌,有很多人都反叛了。蕭銑控製不了局勢,兵勢益弱。就在這個時候,蕭銑的克星李靖來了。都說貓有九條命,如果人生有前世,那麼李靖的前世可能是一隻貓。當年李靖自費從馬邑郡到大興告發李淵,後被困在大興城內。大興城城破落入李淵手中,如果沒有李世民說情,李靖已經死過一回了。現在,進攻南梁,李靖又一次遭遇了險情,不過這次險情他當時並不知道。李靖一直在尋找進攻南梁的合適時機。因為無機可乘,李靖就一直觀望等待。然而這一觀望惹怒了李淵,在他看來,李靖並沒有完全效忠李唐王朝。惱怒的李淵給硤州都督許紹下了一道密旨:斬!幸虧許紹深愛李靖之才,頂著抗旨的壓力保下了李靖,不然李靖又得死一次。時間推進到武德四年九月,李靖迎來了總攻的機會。趙郡王李孝恭出任大軍統帥,李靖代理大軍參謀長(攝大軍長史),大軍將從夔州順長江東下。
此時遇到了一個難題:江水暴漲!在其他將領看來,江水暴漲,行舟艱難,不如等水勢稍緩再行出軍。然而這個意見遭到了李靖的反對,在他看來兵貴神速,此時大軍剛剛集結,蕭銑還沒有得到消息,理應趁著猛漲的水勢東下,直取江陵。李靖是對的,此時的他始終在心中默念四個字,“出其不意“。兩軍對壘,知己知彼並不可怕,可怕的是出其不意。隨即趙郡王李孝恭及李靖率巴蜀兵從夔州出發,沿流而下;廬江王李瑗從襄州道,黔州刺史田世康向辰州道,黃州總管周法明向夏口道四軍齊發,直指蕭銑。果不出李靖所料,蕭銑自以為長江水勢暴漲,行舟不易,竟然絲毫沒有防備。李孝恭與李靖一連攻陷荊門、宜都,進駐夷陵。此時南梁才派出文士弘駐守清江設防,然而一切都晚了。李孝恭、李靖首戰擊退文士弘,俘獲戰艦三百餘艘,梁軍死傷以萬計。李孝恭一直追逐文士弘到百裏洲再次將其擊敗,南梁江州總管蓋彥舉以五個州向唐軍投降。此時李孝恭已經率軍兵臨江陵城下,蕭銑一點兵,傻眼了,宿衛兵士僅僅數千人。不是號稱四十萬嗎?人都哪去了?哪去了?罷兵營農,分散光了,數十萬梁軍分散在長江沿岸,嶺南之地,想集中,至少半個月。沒辦法,先拿這幾千人守城吧。