刘沔的字叫子汪,徐州彭城县人。

他父亲刘廷珍,率羽林军保护德宗出逃奉天,因战功封左骁卫大将军、东阳郡王。

刘沔年幼时是孤儿,客居振武军,节度使范希朝任命他为牙将。军队中大聚会时,他提着刀站在大堂下面,范希朝认为他是奇才,召他来并对他说:“你今后一定会担任我这官职。”范希朝去世了,他进京任神策军将领。大和末年,多次升官后任大将军,又升任泾原节度使,后调到振武军。开成三年(838),突厥抢劫屯田区,他征调吐谷浑、契必艹、沙陀部族一万军队进攻他们,使他们没有一名骑兵生还。他把缴获的马和羊都发给作战的士兵,在都护府西北筑了四座城堡。

因功升任检校户部尚书。

唐武宗登基,他升任检校尚书左仆射。回纥入侵天德军,有诏命他率兵据守云伽关,回纥就退兵了。会昌二年(842),回纥又抢劫太原和振武军,皇帝派兵部郎中李拭调集军队和粮草,并观察众将有无才能,李拭单单称赞刘沔,于是任命他为河东节度使兼招抚回纥使,进驻雁门关。回纥进犯云州,刘沔进攻他们,杀死了回纥七名偏将,打败了他们的军队。因为夺回公主的功劳,升任检校司空。有议论的人认为酬劳不够,又升任金紫光禄大夫,并任命他一个儿子当官。回纥残兵逃跑了,有诏命他追赶,又按李靖讨平颉利可汗的规格赏赐他。

军队归来,驻扎在代州时,归义军有三千投降的异族人,命他们分别受各道管辖,他们不服从命令,占据滹沱河反叛,刘沔把他们都抓住杀了。

刘稹不服从命令,有诏命刘沔到南边去讨伐,驻扎在榆社。刘沔一向和张仲武不合,当时正催促幽州出兵,就把刘沔调到义成军。遇上王宰不进兵,宰相李德裕上奏命刘沔镇守河阳,派两千滑州兵在万善扎营,呆在王宰眼皮下,促使王宰出兵。刘稹被讨平后,他升任检校司徒,调任忠武节度使。后因病改任太子少保,因不能上朝,改任太子太傅退休。后来去世了,享年六十五岁,赠官为司徒。