元颢与陈庆之乘虚从铚城(今安徽宿州西南)进军攻克荥城(胡三省注:《水经注》记载,是春秋时的沙随之地。杜预《注》认为就是梁国宁陵县北的沙阳亭,俗称堂城,“荥”与“堂”字相近,推测就是此地而字形有误),于是到达梁国;北魏丘大千拥有七万部众,分筑九座城抵御。陈庆之发起进攻,从清晨到申时,攻克三座营垒,丘大千请求投降。元颢登上祭坛焚烧祭品,在睢阳(今河南商丘南)城南即皇帝位,改元孝基(胡三省注:《考异》说:《魏帝纪》记载,去年十月萧衍以元颢为魏主,年号孝基,入据铚城。《元颢传》记载,“永安二年四月在梁国城南登坛焚烧祭品,年号孝基。”现在依从《元颢传》)。济阴王元晖业率领二万羽林兵驻守考城(胡三省注:前汉梁国设有甾县,后汉章帝改名为考城,属陈留郡,晋代废除,宋代属济阳郡。《五代志》记载:梁郡考城县,后魏称考阳,设置北梁郡,隋代恢复为考城县,属宋州),陈庆之攻下考城,擒获元晖业(胡三省注:《考异》说:《魏书·帝纪》记载攻克考城在辛丑日之后,现在依从《梁帝纪》)。
11辛丑日,北魏上党王元天穆及尔朱兆在济南(今山东济南)打败邢杲,邢杲投降,被押送到洛阳斩首。尔朱兆,是尔朱荣的侄子。
12五月丁巳日,北魏任命东南道大都督杨昱镇守荥阳(今河南荥阳),尚书仆射尔朱世隆镇守虎牢(今河南荥阳汜水镇),侍中尔朱世承镇守崿岅(今河南偃师东南)。乙丑日,北魏内外戒严。
戊辰日,北海王元颢攻克梁国。元颢任命陈庆之为卫将军、徐州刺史,领兵西进(胡三省注:领兵西进,直指洛阳)。杨昱拥有七万部众,占据荥阳,陈庆之攻打荥阳,没有攻克,元颢派人劝说杨昱投降,杨昱不听。元天穆与骠骑将军尔朱吐没儿率领大军前后相继赶到,梁朝士兵都很害怕,陈庆之解下马鞍喂马,对将士们说:“我到这里以来,屠城略地,实在不算少;你们杀人父兄、掠人子女,也数不清了;元天穆的部众,都是我们的仇敌。我们只有七千兵力,敌军有三十多万,今天的情况,只有拼死作战才能活命。敌军骑兵多,不能和他们打野战,应当趁他们还没全部到达,赶紧攻下荥阳城据守。各位不要犹豫,否则就会被屠杀剁成肉酱。”于是击鼓进军,命令士兵登城,将士们随即相继像蚂蚁一样攀城而入,癸酉日,攻下荥阳,捉住杨昱(胡三省注:杨昱轻视陈庆之兵少,没料到会遭到猛烈进攻,所以城被攻陷。《左传》说:“敌人无论大小,都不可轻视。”又说:“不防备意外,就不可以出兵。”)。众将三百多人跪在元颢帐前请求说:“陛下渡江三千里,没费一箭之地,昨天荥阳城下一天就死伤五百多人,希望杀了杨昱来解心头之恨!”元颢说:“我在江东时听梁主说,当初起兵攻下都城,袁昂在吴郡不投降,梁主常常称赞他的忠节(胡三省注:事见一百四十四卷齐和帝中兴元年)。杨昱是忠臣,怎么能杀他!除此之外任凭你们处置。”于是斩杀杨昱部下的三十七名将领,都挖出心脏吃掉。不久元天穆等人领兵围城,陈庆之率领三千骑兵背城苦战,大败敌军,元天穆、尔朱吐没儿都逃走。陈庆之进军攻打虎牢,尔朱世隆弃城逃走,擒获北魏东中郎将辛纂(胡三省注:北魏东中郎府在虎牢)。
北魏孝庄帝将要出逃躲避元颢,不知道去哪里,有人劝他去长安,中书舍人高道穆说:“关中荒凉残破,怎么能再去!元颢的部众不多,乘虚深入,是因为将领不得其人,所以才能到这一步。陛下如果亲率禁卫军,高价招募勇士重加奖赏,背城一战,我们竭尽死力,一定能打败元颢的孤军。如果担心胜负难料,那么陛下不如渡过黄河,征召大将军元天穆、大丞相尔朱荣各自领兵前来会合,形成犄角之势进军讨伐(胡三省注:“犄角”,前面后文都作“掎角”),一个月之间,必定能成功,这是万全之策。”孝庄帝听从了他的建议。甲戌日,孝庄帝向北行进,夜里到达河内郡(治今河南沁阳)北边(胡三省注:孝庄帝从洛阳向北到河内,应当夜里到达郡城南,不应该到郡城北,恐怕有误),命令高道穆在烛光下写了几十张诏书,布告远近,于是四方才知道孝庄帝的所在。乙亥日,孝庄帝进入河内城。
临淮王元彧、安丰王元延明,率领百官,封存府库,准备法驾迎接元颢(胡三省注:《考异》说:《元彧传》没有依附元颢的事,但《梁书·陈庆之传》、《北齐书·宋游道传》有记载,大概是魏史为元彧避讳)。丙子日,元颢进入洛阳宫,改元建武,大赦天下。任命陈庆之为侍中、车骑大将军,增加食邑一万户。杨椿在洛阳