公元272年(吴凤凰元年,晋泰始八年)八月,吴主孙皓征召昭武将军、西陵督步阐。步阐世代居住在西陵,突然被召,自以为是因公事失职,而且害怕有人进了谗言,九月,占据西陵城投降晋国,派侄子步玑、步璿到洛阳去当人质。晋朝诏令任命步阐为都督西陵诸事、卫将军、开府仪同三司、侍中,兼任交州牧,封步阐为宜都公。
吴国陆抗听到步阐背叛的消息,马上派将军左奕、吾彦等去讨伐。
晋武帝派荆州刺史杨肇到西陵迎接步阐,车骑将军羊祜统率步兵进攻江陵,巴东军徐胤率水军攻打建平救援步阐。陆抗命令西陵各军筑造高峻的围墙,从赤溪一直到故市,内可用来围困步阐,外可以此抵御晋兵。陆抗白天黑夜地催逼筑围,就好像敌人已经来到眼前,众人为此异常劳苦。
诸位将官进谏说:“当前应乘三军的锐气,急速攻打步阐,等晋的救兵到来,必定已克西陵,何必去做筑围事,使士兵、百姓的气力都疲惫了。”陆抗说:“西陵城所处的地势已是很稳固了,粮谷又充足,况具所有守备防御的设施、器具,都是我早先西陵任职时所设置准备的,现在反过来攻打它,不可能很快取胜。晋兵到来而我们没有防备,内外受敌,靠什么来抵御?”诸将都想攻打步阐,陆抗想使众人心服,就听任他们去试一试,果然没有得到好处,于是开始齐心协力筑围防守。这时,羊祜的五万兵到了江陵。诸位将官都认为陆抗不适宜去西陵,陆抗说:“江陵城坚固,兵员足,没有什么可担忧的。假如敌人得到了江陵,必然守不住,我们的损失小。如果晋兵占据了西陵,那么南山的众多夷人都会骚乱动摇,这样的话,祸患就不可估量了!”于是,亲自率领部众奔赴西陵。
当初,陆抗因江陵以北道路平坦开阔,命令江陵督张咸兴造大坝阻断水流,浸润平地以断绝晋军侵犯和内部叛乱。羊祜想借大坝阻住的水用船运送粮草,就故意扬言要破坝以通过步兵。陆抗听到这个消息,让张咸急速毁坏大坝,诸将都迷惑不解,多次谏阻陆抗也不听。结果羊祜到了当阳,听说大坝已毁,只好改用车子运粮,耗费子许多人力和时间。
十一月,晋朝杨肇到达西陵。陆抗命令公安督孙遵沿着南岸抵御羊祜,水军督留虑抵御徐胤,陆抗亲自率领大军凭藉长围与杨肇对峙。将军朱乔营中的都督俞赞逃到了杨肇那里。陆抗说:“俞赞是军队中的旧官吏,了解我军虚实。我常常担心夷兵平时的训练不够,敌人如果围攻,必定先打夷兵防守的地方。”于是当夜更换夷兵,全都用精兵把守。第二天,杨肇果然攻打原来夷兵防守的地方,陆抗下令反击,箭与石块像下雨一样袭来,杨肇的部众死伤不断。十二月,杨肇无计可施,夜里逃走了。陆抗想追杨肇,又担心步阐一直积蓄力量,窥伺时机,自己的兵力不足以分开对付两头,就只擂鼓警戒部众,作出要追赶的样子来。杨肇的部众恐惧骚动,全都丢弃铠甲脱身而逃。陆抗派轻兵紧随在后,杨肇兵大败,羊祜等人都领兵而还,西陵城陷落。
陆抗攻克西陵后,杀死步阐以及与他同谋的将吏共几十人,并将他们夷灭三族。陆抗向孙皓上书,请求对余下的几万人赦免。孙皓加封陆抗为都护。
晋朝羊祜获罪,被贬为平南将军。杨肇被免去官职,成为平民。
孙皓攻克西陵后,自认为是得到了上天的佑助,志向益发显扬。他让术士尚广为他占卜是否能得到天下,尚广回答说:“吉。庚子年,青色的车盖会进入洛阳。”吴主大喜,不整治政令,一心一意地谋划兼并天下的事情。此后,屡次对晋朝发动攻势,徒耗国力,加速了孙吴的灭亡。
晋军的救援全线失利,与获得战略优势的天赐良机失之交臂,领兵将帅不得不承担罪责。羊祜被贬为平南将军,杨肇被免为庶人。晋武帝本来对羊祜倚重有加,寄以统一江南之望,而此役失利,却不得不严加处理。说明晋朝上下对此役的失败是何等追悔莫及。直到西晋完成统一之后,已经是晋室臣子的陆抗之子陆机,追思其父的功劳,依然充满了自豪感:“逮步阐之乱,凭宝城以延强寇,重资币以诱群蛮。于时大邦之众,云翔电发,悬旍江介,筑垒遵渚,襟带要害,以止吴人之西。而巴汉舟师,沿江东下。陆公以偏师三万,北据东院。深沟高垒,案甲养威。反虏踠迹待戮,而不敢北窥生路,强寇败绩宵遁,丧师太半。分命锐师五千,西御水军,东西同捷,献俘万计。由此看来,陆抗平定步阐之乱而收复西陵一役,其对于安定孙吴政权的贡献而言,足以与陆逊击败刘备之役相媲美。