早年屡试落第,困于场屋垂30年,客游所至,南极潇湘,北抵幽燕,西至沂陇,久滞长安及关中一带,并隐居于华山,遨游边关。直至武宗会昌四年(844年)与项斯、赵嘏同榜登第。宣宗大中元年(847年)为太原幕府掌书记,以直言获罪,贬为龙阳(今湖南省汉寿)尉,后得赦还京。懿宗咸通末,佐大同军幕。咸通七年(867年)擢国子太常博士。
工诗属文,其诗凝炼秀朗,含思蕴藉,饶有韵致,无晚唐纤靡僻涩之习。尤以五律见长,深得五言律之三昧。与薛能、顾非熊、殷尧藩等友善,均有诗篇往来;又与贾岛、姚合为诗友,唱酬尤多。善于抒写羁旅之思和失意之慨,蕴藉深婉,秀朗自然。
《落日怅望》、《楚江怀古》、《送人游蜀》、《灞上秋居》等,历来颇为传诵。《出塞词》、《关山曲》等,慷慨激壮,是晚唐较好的边塞诗。乐府诗《征妇叹》哀伤惨恻,最有讽谕。杨慎《升庵诗话》举其《楚江怀古》“猿啼洞庭树,人在木兰舟”一联,谓“虽柳吴兴(柳恽)无以过也”。部分边塞之作,如《陇上独望》、《边将》、《射雕骑》等,也较沉雄激壮。五古《征妇叹》颇能刻画征妇悲痛心情。七言绝句亦有佳作。宋严羽、明杨慎、清王士祯等,均推其成就在晚唐诸人之上。叶矫然则称:“晚唐之马戴,盛唐之摩诘也。”清·纪昀《瀛奎律髓刊误》认为“晚唐诗人,马戴骨格最高”。翁方纲《石洲诗话》更以其五律“直可与盛唐诸贤侪伍,不当以晚唐论矣”。
诗作多为投赠、应酬或写羁旅、山林之作,较少反映社会现实。在《全唐诗》录存其诗172首,编为2卷。生平事迹见《唐诗纪事》、《唐才子传》等有传。
唐咸通九年(869年)病卒于国子太常博士任上,终年约70岁。著有《会昌进士诗集》1卷,《补遗》1卷。
同人家户杜,相见罢官时。野坐苔生石,荒居菊入篱。听蝉临水久,送鹤背山迟。未拟还城阙,溪僧别有期。休官不到阙,求静匪营他。种药唯愁晚,看云肯厌多?渚边逢鹭下,林表伴僧过。闲检仙方试,松花酒自和。
金甲耀兜鍪,黄云拂紫骝。叛羌旗下戳,陷壁夜中收。霜霰戎衣月,关河碛气秋。箭疮殊未合,更遣击兰州。火发龙山北,中宵易左贤。勒兵临汉水,惊雁散胡天。木落防河急,军孤受敌偏。犹闻汉皇怒,按剑待开边。
异地还相见,平生分可知。壮年俱欲暮,往事尽堪悲。道路频艰阻,亲朋久别离。解兵逃白刃,谒帝值明时。淹疾生涯故,因官事业移。鸡鸣关月落,雁度朔风吹。客泪翻岐下,乡心落海湄。积愁何计遣,满酌浣相思。
自别丘中隐,频年哭路歧。辛勤今若是,少壮岂多时。露滴阴虫苦,秋声远客悲。晚营严鼓角,红叶拂旌旗。北阙虚延望,西林久见思。川流寒水急,云返故山迟。落照游人去,长空独鸟随。不堪风景隔,忠信寡相知。
金锁耀兜鍪,黄云拂紫骝。叛羌旗下戮,陷壁夜中收。霜霰戎衣故,关河碛气秋。箭创殊未合,更遣击兰州。火发龙山北,中宵易左贤。勒兵临汉水,惊雁散胡天。木落防河急,军孤受敌偏。犹闻汉皇怒,按剑待开边。