庾亮抵达寻阳(今江西九江市西)后声称接到庾太后命令,任命温峤为骠骑将军、开府仪同三司,郗鉴为司空。温峤对庾亮有点小崇拜,这个时候不但不背弃他,还分出一部分士兵给庾亮。
面对当前的形势,温峤认为没有陶侃的帮助,就不可能战胜苏峻。在他的建议下,庾亮同意推举征西大将军、荆州刺史陶侃为盟主,联兵讨伐苏峻。陶侃对自己没有被列为托孤大臣的事情耿耿于怀,对庾亮很有成见,起初不答应,后来庾亮专门写信向陶侃道歉,加之陶侃也怕苏峻得势后自己没有立足之地,终于还是答应了。他穿上铠甲,登上战船,星夜兼程而来。
咸和三年(328)五月,陶侃率领大队人马到达寻阳,庾亮又当面向陶侃道了歉,陶侃摒弃前嫌,跟庾亮和好如初。陶侃作为盟主,率领六万将士浩浩****出发,旌旗延绵七百多里。
苏峻听说陶侃等人发兵来征讨,赶紧从姑苏回兵石头城,并把司马衍等人强行带到石头城。
陶侃上表推荐王舒监浙东军事,虞潭监浙西军事,郗鉴都督扬州八郡军事,并命令王舒、虞潭服从郗鉴的调度。郗鉴率将士渡江南下,与陶侃等在茄子浦会合。雍州刺史魏该也率兵来助。五月二十九日,勤王军向石头城进发。
宣城(今安徽宣城市)内史桓彝抗击苏峻,苏峻派韩晃进攻宣城,桓彝不敌被杀,年五十三岁。之所以要多讲这一句,是因为桓彝是桓温的父亲。
陶侃率领的西路勤王大军到达石头城,但出师不利,屡战屡败。东路勤王部队由王舒、虞潭率领,同样屡战屡败。在这紧要关头,雍州刺史魏该又去世了,让勤王军原本就不乐观的形势雪上加霜。
祖约手下将领私自勾结后赵,后赵命汲郡太守石聪率军渡过淮河,进攻寿春。七月,寿春陷落,祖约弃城逃往历阳,石聪掳掠了寿春两万多户人家后返回。
祖约的失败,让苏峻部队的军心开始动摇,但即便这样,陶侃这边的进攻也还是无法取得进展,双方处于拉锯状态。久攻不下,勤王军内部也出现了怯敌的情况。
温峤军队缺粮,向陶侃借粮,这时陶侃已有了回军的想法,因为再这样下去,盟军有瓦解的趋势。这时候,庐江郡太守毛宝自告奋勇,他对陶侃说道:“请您给我派些部队,我去攻击叛贼的粮库,如果我失败了,您再走也不迟。”陶侃应允。
毛宝率军奋力攻击,烧毁了苏峻在句容、湖孰的粮食储备,陶侃一看胜利有望,决定留下。
敌将领韩晃、张键等猛攻大业大营,营中断水,将士们把粪便绞出水来解渴,顽强坚守。陶侃准备发兵救援大业,长史殷羡道:“我们的士兵大都是水兵,不擅长陆战,到时候如果不能取胜,军心就会瓦解了。不如我们猛攻石头城,这样大业的包围自然就会解除。”
九月二十五日,陶侃亲率水军向石头城发起猛攻。庾亮、温峤、赵胤等率领一万步兵从白石垒南下,但赵胤军队被苏峻派出的苏硕(苏峻之子)和部将匡孝率军袭击,大败。
苏峻正在犒劳将士,已经有几分醉意,他远远地看到赵胤军狼狈逃窜,大笑道:“匡孝能破敌,难道我还不如他吗!”他借着酒劲,只带了数个骑兵就发动攻击,但根本无法冲入阵营。苏峻准备返回,正在这时,他的坐骑突然被绊倒,说时迟那时快,陶侃的部将彭世、李千抓住时机投出手中长矛,长矛疾如流星,苏峻应声倒地,众将士一哄而上,把苏峻剁成肉酱,众将士还不解恨,又把苏峻的尸体焚烧成灰。三军将士得知敌首被诛,兴奋地高呼万岁。
苏峻的司马任让等人推举苏峻的弟弟苏逸为头领,关闭城门顽抗。韩晃听说苏峻已死,也不再围攻大业,撤回石头城。赵胤进攻历阳,祖约不敌,连夜率领亲兵数百人投奔后赵而去。
咸和四年(329)二月十三日,盟军进攻石头城,韩晃等弃城逃跑。此战,温峤带兵斩杀苏硕,之后勤王部队又生擒苏逸,将其斩首示众。曹据怀抱年幼的晋成帝司马衍投奔温峤。劫后余生,一众文武官员都跪倒在地痛哭流涕,请皇帝治他们护驾不力之罪。朝廷赦免了他们,只有投靠了苏峻的西阳王司马羕和他的两个儿子、一个孙子,以及彭城王司马雄被诛杀。
司徒王导进入石头城,命人寻找他之前慌忙出走时没有来得及带上的符节,陶侃调侃他道:“苏武的符节可不是这样拿的!”王导面露惭愧之色。
勤王军乘胜追击,把韩晃等全部杀死,苏峻、祖约之乱被全部平定。
三月十日,朝廷论功行赏,封陶侃为侍中、太尉、长沙郡公,兼都督荆、雍、梁、交、广、宁六州诸军事;郗鉴为侍中、司空、南昌县公;温峤为骠骑将军、开府仪同三司,加授散骑常侍、始安郡公。其他有功之人也各有赏赐。
陶侃返回荆州刺史总部江陵,后来他觉得江陵位置偏僻,把总部迁到了巴陵(今湖南岳阳市)。温峤也回到了江州刺史府所在地武昌。
庾亮见到成帝时,把头磕到地面,磕得噔噔作响,请求成帝降罪。但庾亮毕竟是成帝司马衍的亲舅舅,打断骨头连着筋,司马衍原谅了他,还任命他为都督豫州、扬州、江西、宣城诸军事,兼任豫州刺史,领宣城内史职,镇守芜湖。