建元二年四月,豫章王萧嶷派遣中兵参军王图南率领益州军队从剑阁出发,北上进攻李乌奴的后方,梁南秦二州刺史崔慧景调发梁州部队驻守在白马(阳平关,陕西省勉县西),两军前后夹击,大破李乌奴所部,李乌奴逃到了武兴(陕西省略阳县)。随后,崔慧景命令长史裴叔保进攻武兴,被氐王杨文弘击退。到同年七月,南齐角城(又称甬城,在江苏省淮安市淮阴区南、古淮河与泗水交汇处)城主投降了北魏。九月四日(北魏日历为八月丁酉日),北魏派遣徐州刺史梁郡王拓跋嘉率军南下迎接,同时,又派遣平南将军郎大檀等三将率军东击朐山城,将军白吐头等两将率军进攻海西(江苏省灌南县东南),元泰等两将率军进攻连口(江苏省涟水县),将军封延等三将朝角城进发,镇南将军贺罗进攻下蔡(安徽省凤台县)。
魏齐边境在恢复了数月平静之后,再度燃起了战火。
显然,这次魏军的攻击重点放在了朐山方向,其他各路在战役初期均为疑兵。齐高帝命令领军将军李安民率领禁卫军持节在淮河沿岸布防,李安民驻扎在泗河口,统一调度各路齐军。进攻朐山的魏军人数高达十万之众,敌众我寡,城主玄元度闭城固守。青冀二州刺史崔祖思在上任数月就病死了,继任的刺史卢绍之闻讯立即派遣儿子卢奂率军增援。朐山城内缺粮,卢绍之将大本营设在淮阴城南,派船从海路给朐山运去粮草。闰九月二十七日,魏军切断海路,从两岸向朐山城发起猛攻,正巧海潮上涨,淹死了很多魏军。玄元度见状,立即率军出城猛击,大破魏军。南齐朝廷听说朐山危急,也派遣军主崔灵建、杨法持、房灵民率领一万多齐军乘船从淮河入海,前去增援。夜里,齐军增援部队每人各举两只火把,魏军远远望见,以为齐军大举前来,弃城而去。
垣崇祖在寿阳城下击退魏军之后,就上书请求将下蔡守军从淮河以北迁至淮河以南。魏军听说齐军撤离,即发兵南下,打算毁坏下蔡旧城。豫州众将都担心敌人会驻守在这里,垣崇祖却说∶"下蔡距离我们这里咫尺之遥,敌人岂敢在那里驻守?他们就是想破坏了旧城,我正担心他们会逃跑我们杀不完他们呢!"魏军果然前来毁坏旧日城。垣崇祖亲自率领齐军渡过淮河,大破魏军,追杀了数十里,杀死和俘虏一千多敌人。齐高帝派往关中的间谍回来后,他给垣崇祖写信说∶"爱卿看我只是守住江东就算了吗?只是因为缺乏粮食罢了,爱卿只管督促部队耕田,我自会消灭了残寇!"下令垣崇祖修治芍陂的田地。
朐山、下蔡方向均没有得手,魏军感到齐军主力部署在东部,遂改变策略,命令昌黎王冯熙为西道都督,与征南将军桓诞进攻西线的义阳;又命令镇南将军贺罗改向钟离发起进攻。
而就在这时,北魏后方却发生了民变。淮北四州(青州、冀州、兖州、徐州)百姓听说萧道成建立了新朝,都想回到江南,萧道成也派遣了大量间谍深入魏国境内,煽动百姓起义,推举司马朗之为主。在魏军大举南下后,淮北四州内部空虚,萧道成的这一釜底抽薪之计在此时出现了成效,徐州人桓标之、兖州人徐猛子等人纷纷纠集义众起义,他们占据山险,并向南齐军队求援。据《魏书》记载,同年十月,兰陵(山东省滕州市)百姓桓富杀掉北魏县令,与昌虑(山东省滕州市东北六十里)桓和北连泰山强盗张和顺等人,共同推举司马朗之为主,
驻守在五固(山东省滕州市东五十里),第二年五月,北魏青州主簿崔次恩也聚众反叛,北魏州军讨伐,崔次恩逃往郁州。齐高帝命令李安民发兵救援,但显然,李安民分不出更多的兵深入敌境,因为,魏军就在眼前,岂容他远救? 北魏朝廷派遣前徐州刺史、淮阳王尉元、枋头镇将薛虎子等人分头讨伐变民。尉元在担任徐州刺史期间,对百姓有恩,北魏朝廷企图利用尉元的影响力,来迅速扑灭暴动。
也许是变民的暴动打乱了魏军原有的部署,从闰九月朐山之战后一直到年底,双方并没有发生大规模的战斗,而且西线魏军首先退去。西部都督冯熙本无将才,仗恃自己是冯太后的哥哥,在洛州期间贪婪骄纵,这次发兵他本身就不十分情愿,只是桓诞说∶"魏军南下以后,各地山蛮都会纷纷响应。"谁知,等到冯熙屯兵在清丘(河南省淮阳县北),南部尚书安拔驻扎在汝南之后,却发现齐军早已严阵以待。
齐豫章王萧嶷又派遣宁朔将军王僧炳、前军将军王应之、龙骧将军庄明率领三千人驻扎在义阳关外,为司州刺史萧景先的声援,并且,在齐军的严密控制下,山蛮却并没有行动。冯熙大怒,率军在淮河沿岸打打猎,向齐军示威一下,就匆匆北撤了。十一月,齐高帝调南兖州刺史陈显达接替文士傅琰担任益州刺史,又改任原南豫州刺史柳世隆为南兖州刺史。他给柳世隆写信说∶"刚有北面的消息说,敌人仍然在彭城集结军队,已经到了年底,敌人大约不会前来,可是,对于狼子野心不能按常理去推断,戒备不可松懈。男工多而妇儒少的百姓,全部征召,不要有什么疑虑。"萧道成还想让没有实职的百官都参军,褚渊认为这容易引起骚动,却带不来多少益处,得不偿失,萧道成这才作罢。
果然,到建元三年年初,魏军就集中兵力向淮阳(江苏省淮安市淮阴区西南)发起了进攻,包围了角城。角城的新任城主名叫成买,成买被任命为城主时,就对别人说∶"这次我被任命为角城城主,我的儿子将会得一个儿子。"别人问为什么,他幽默地回答∶"角城与敌人同在淮河北岸,非常危险,我哪有本事不让魏军南下?魏军南下后,要么我被魏军杀死,要么我就击败魏军,我的孩子不当孝子(指自己被杀),就会做世子(指自己封侯)。"魏军南下,角城首当其冲,魏军将其包围了里三层,外三层。
萧道成命令领军将军李安民、左军将军孙文显出兵救援,并命令周盘龙;"角城和连口遭到攻击,西路就没有了敌军,你可以率领步骑兵东下加入李安民的部队。钟离船少,只能运送军衣、武器和能吃数日的粮食,部队可以沿着淮河徒步行进。"
魏军在淮北烧杀抢掠,淮北百姓惊慌南逃,引发长江以北的百姓也惊慌失措,纷纷南逃,无法禁止。齐高帝在梁山(安徽省和县南、长江西岸西梁山)设置一军,南州设置三军,慈姥(安徽省马鞍山市东北)设置一军,溯州(江苏省南京市江宁镇西长江中)设置二军,三山(江苏省镇江市境长江中)设置二军,白沙洲(江苏省仪征市长江中)设置一军,蔡州(江苏省南京市西南)设置五军,长芦(今地不详)设置三军,蒸浦(今地不详)设置二军,徐浦(今地不详)设置一军,一方面防御魏军,一方面稳定秩序,防止出现民变。
萧道成又给柳世隆写信道∶"昨夜得到消息说钟离之间的敌人已经渡过了淮河,既然敌人自投罗网,就当予以剪灭。你要妥善处理,命令各个小堡垒的部队全部撤离,回到大城,不能掉以轻心,敌人来了还没有察觉。如果敌人真的渡过淮河,肯定会去寿阳送死,我将再派援军。"又增派给柳世隆一些部队。
前线南齐汝南太守常元真、龙骧将军胡青苟投降北魏,但成买在与魏军激战中,亲手杀死杀伤无数敌人,当天即战死沙场。齐军李安民、孙文显、周盘龙所部从水陆两路及时赶到了战场。周盘龙的儿子周奉叔也是一员猛将,他率领二百多人率先杀入魏军之中,魏军一万多骑兵将他们包围了起来。激战很久,一个骑兵从重围中杀出,向周盘龙报告说周奉叔已经战死。当时,周盘龙正在吃饭,听罢,当即将筷子扔掉,跨马挺枪,高呼着∶"周公来也!"直奔敌阵。魏军素来畏惧周盘龙的威名,当即纷纷退后。此时,周奉叔已经杀死了很多敌人,也杀出了一条血路,闯出敌阵,可是,周盘龙不知情,在万军之中是左冲右突,无人能当。周奉叔见父亲一直未能杀出敌阵,再次掉转马头,重新杀入敌阵。周盘龙父子两人两匹战马搅动着数万魏军,齐军趁势猛攻,魏军大败,被杀伤上万人。
魏军退去,李安民等将乘胜追击。但魏军骑兵多,齐军骑兵少,难以赶上,并且,李安民料到敌人会有伏兵断后,他将计就计,派遣族弟、骑兵队长李长文率领二百骑兵为先锋,诱使敌人上当,他与军副周盘龙、崔文仲率军跟在后面,将部队藏匿于密林之中。
李长文进至宿豫(江苏省宿迁市东南),魏军看到齐军人数不多,即派出数千骑兵前来。李长文边打边退,将敌人引到大军的伏击圈。李安民等人前来接应,与魏军在孙溪渚(江苏省淮安市清江区)会战,魏军再次大败,投入清水中淹死的魏军数不胜数。魏军菟头公将攻城器械送至布丘(今地不详),左军将军孙文显将其击退,把器械焚毁。在参战将领中还有萧道成的亲随部将桓康,萧道成在派遣桓康之前鼓励他说; "你一直追随着我,还没有被晋升为方镇大员,你肯定不知我的心思,只是想让爱卿先灭了敌人,建功立业罢了。"桓康被晋升为冠军将军,假节,淮阳之战后,他率军乘胜进击,又攻下了魏军的樊谐城(江苏省宿迁市西北)。
淮北义民桓磊魂在抱犊固(山东省枣庄市东北抱犊山)与魏军交战,大破魏军。萧道成命令李安民等各军继续向北接应义民。他派遣曹虎率领六千人进入涡水北上,曹虎一直没有等到义民前来,他进攻魏军军营,并一举将其攻占。但齐军将士贪取财物,遭到魏军的反攻,被击败,死伤两千多人。萧道成还命令周山图从淮河进入清水,倍道兼行,北上接应义军。但齐军解救义军的行动进展得并不顺利,周山图仅仅从魏境迁回了三百多家。
齐军无果而返的主要原因在于李安民行动迟缓,不过,作为前敌总指挥的李安民毕竟要真刀真枪地与魏军作战,与齐高帝在后方看图作业完全是两个不同的概念。前线魏军虽然受到重创,但齐军以劣势兵力要想深入敌人的大后方,也是非常困难的。到了四月,桓标之等人全部被魏军击灭,魏军将三万多人迁回平城。淮北义民被尉元平定后,萧道成大怒,狠狠地斥责了李安民一通。
魏齐间的这场持续了一年多的较量就这样以魏军的惨败而告终。到建元三年四月份,由于齐军无力越过彭城接应变民,魏军顺利平定了兖州青州地区的民变,而齐国百姓已经难以承受繁重的徭役,齐军也无力变守为攻,扩大战果,双方之间的战事就此停了下来,但驻守在五固的司马朗之一党一直到七月份才最终被魏军消灭。