魏孝庄帝元子攸为避陈庆之锋芒,被迫撤至长子(今山西长子西)。元颢遂入洛阳,魏临淮王元彧、安丰王元延明率百官迎元颢入宫。元颢改元大赦,以陈庆之为侍中、车骑大将军、左光禄大夫,增邑万户。
不久,上党王元天穆、王老生、李叔仁又率兵四万攻克大梁,并分遣王老生、费穆进据虎牢,刁宣、刁双入梁、宋。陈庆之闻后,率军掩袭,魏军皆降。元天穆率十余骑北渡黄河而逃,费穆攻虎牢,在即将攻克的时候忽然听说元天穆已经向北逃跑,认为自己已经没有后继之力,于是向陈庆之投降。
陈庆之又进击大梁、梁国,都攻占下来。梁武帝闻讯后,再次亲书诏书进行嘉勉。陈庆之和部下皆穿白袍,一路上所向披靡,所以洛阳城中童谣曰:“名师大将莫自牢,千兵万马避白袍”。元颢、陈庆之,从铚县至洛阳,前后作战47次,攻城32座,皆克,所向无前。
至此,事出不虞,天下改望。黄河以南的州郡,纷纷都投靠了元颢。而元欣也曾打算投靠元颢,只是在崔光韶的力劝之下,才作罢。
北魏孝庄帝逃到河北,元颢的军队在元彧、元珍孙、元袭的带领下,一鼓作气追到河北,欲杀死孝庄帝。郑先护奋力拒战。尔朱荣以独孤信为前驱,与元颢军队战于河北,元颢军队战败。元彧撤走,而元珍孙、元袭,依然拒绝退出河北,最终,尔朱荣击破并斩杀了元珍孙、元袭。尔朱荣遂迎驾孝庄帝于河内。
元颢入洛后,日夜纵酒,不恤军国大事。陈庆之的梁军士兵,“所从南兵,陵暴市里”。所以,令朝野感到失望。
当时,洛阳地区的梁军不满1万,而拥立元颢称帝的夷、胡大军已经多达10万。副将马佛念劝陈庆之偷袭元颢并占据洛阳,陈庆之不从。陈庆之向元颢请求出镇徐州,而元颢已对陈庆之产生了猜忌,拒绝了陈庆之的请求。陈庆之不敢复言。
北魏天柱将军尔朱荣带着从洛阳出逃的北魏孝庄帝,连同尔朱世隆、元天穆、尔朱吐没儿、高欢以及鲜卑和蠕蠕的大军,挥师洛阳。元颢占据洛阳六十五天,令元延明缘河据守与尔朱荣对峙。陈庆之为了争取战略上的主动,带领不满1万的梁军渡过黄河,驻守中郎城。和北魏大军展开鏖战。陈庆之处于绝对的劣势,但仍然在中郎城阻截了尔朱荣三天,杀伤甚重。尔朱荣用木头做成木筏,令尔朱兆、贺拔胜从硖石渡河,与元颢战于河桥,先后击破元冠受、元延明等人,元颢的10万大军最终战败。元颢逃到临颍,遇贼人被擒,洛阳失陷。
不满1万的陈庆之军队,被高琳所破。陈庆之虽然兵败,但仍有数千人尚在。因为元颢已败,陈庆之开始向南梁撤退,尔朱荣亲率大军追击。陈庆之在蒿高遇到了山洪爆发。正在渡河的梁军被洪水吞没,陈庆之本人幸免于难。失去军队的陈庆之化妆为一个僧人躲过尔朱荣大军的搜捕,逃到豫州,在豫州得到当地人的帮助,才辗转返回南梁。回到南梁,萧衍对陈庆之大加封赏,升陈庆之为右卫将军,永兴侯,封邑一千五百户。