赵昌言年轻时有远大志向,赵逢、高锡、寇准都称赞他。
太平兴国三年(978年),考中进士,文思非常敏捷,在考场中有声望,成为贡部的首荐。廷试那天,宋太宗见他辞气俊辩,又看到他父亲的名字,对身边的人说:“这人曾经任东畿宰,我的生日,他必定献上百韵诗歌祝寿,善于训导儿子,也可喜啊。”提拔录在甲科,授任将作监丞,通判鄂州。授任右拾遗、直史馆,赐给绯鱼袋。选任为荆湖转运副使,升为右补阙,正好朝廷减少副职,改任知青州。入朝任职方员外郎,主持制诰,参预修撰《文苑英华》。
雍熙初年(984年),加任屯田郎中。
雍熙二年(985年),赵昌言与别的大臣共同主持贡举,因有亲属应举,避嫌辞职,不久出京任知天雄军。
当时曹彬、崔彦进、米信在歧沟失败,赵昌言派观察支使郑蒙上疏,请求诛杀曹彬等人。宋太宗下诏表扬答复,召入京任御史中丞。宋太宗在金明池举行宴会,特地召他参加。宪官侍从皇帝宴会,从赵昌言开始。 朝廷在河朔用兵,枢密副使张宏墨守成规,不思进取,赵昌言多次上陈边备之事,太宗即以赵昌言为左谏议大夫,代替张宏任枢密副使,又改任工部侍郎。盐铁副使陈家舆与赵昌言平时关系很好,知制诰胡旦、度支副使董俨与赵昌言是同年进士,右正言梁颢曾在大名府幕下做过事,他们四人,白天黑夜地聚会在赵昌言家中,京师流行这么一句话:“陈三更,董半夜。”
有一个叫翟颖的人,为人奸险,与胡旦亲近而心不诚,胡旦以狂妄的语气写了一篇文章,要翟颖献给朝廷,又为翟颖更名马周,自诩为唐朝的马周复出,其言多诋毁时政,且自荐为大臣。又历举数十人,称誉他们是国家栋梁。希望赵昌言于朝内呼应。陈王任开封府尹,以廉政名闻于朝,抓捕翟颖审问,了解了事件经过,赵昌言受牵连,被贬为崇信军节度行军司马,翟颖被判刺面杖脊,流放到海岛监禁,禁锢终身。
当初,宋太宗厚待赵昌言,想任命其为宰相。赵普因老资格复入朝廷,厌恶赵昌言的刚戾,宋太宗遂诏吕蒙正为相。几个月后,正遇翟颍一案,赵普认为赵昌言树立朋党,多次劝宋太宗诛杀他,宋太宗特地宽恕了他。
淳化二年(991年),起用昌言任知蔡州,过了一年,召入朝授任右谏议大夫。有人建议放松茶盐之禁,以减少漕运。任命昌言为江淮、两浙处置茶盐使,昌言极力陈说不便,太宗不听,催促昌言赴任。昌言仍固执己见,朝廷就以户部副使雷有终代替他,但最终还是不了了之。 赵昌言第二次知天雄军时,朝廷赐钱二百万。黄河穿过府境,土豪贮藏草料以图利,诱使奸人在堤坝修筑时偷工减料,每年汛期,堤坝仍然决溢。赵昌言察觉到了此事。一日,管理堤坝的官吏告急,赵昌言命人直接从土豪家库房中运取材料使用。自此,天雄军没有谁敢在防洪中图利。属地澶州河段决口,流入御河,水势上涨很快,已到了很危险的程度,赵昌言令本府兵卒担土增高堤坝,士兵数量不及千人。于是,又命城中禁卫部队帮助。这些人平时养尊处优,危急时皆站在高处畏缩不前。
赵昌言愤怒地说:“府城将要被淹没,百姓就要被冲走,你们这些人食国家厚禄,想要坐视不管吗?有敢不从命者,立斩。”众士卒见此情景,个个胆战心惊,纷纷上前加高堤坝。不一会儿,堤坝加固完毕,城中百姓的安全有了保障。宋太宗知道后,亲自书写诏书褒奖,并召赵昌言拜给事中,参知政事,不久成为宰相。 当时开封连日降雨,赵昌言请求将厩马分给外郡放牧,有人认为盛秋时节,需防备敌国进犯,马不可缺,赵昌言说:“边塞积有大水,敌人一定不来。”宋太宗听从了他的意见。
不久,王小坡、李顺带领成都的农民起义。朝廷商议派大臣安抚招降,只有赵昌言一人建议发兵控制局势。商议未定,王小波等已连续攻破嘉、眉两府。朝廷急命王继恩分路进讨,赵昌言祭太庙时睡在斋房。由于赵昌言被召对滋福殿时反复强调用兵镇压的好处。于是,宋太宗命其督战,王继恩缺少统领众将的才能,起义军尚未被全歼,就握重兵留守成都,士兵毫无斗志,导致不少郡县得而复失。
宋太宗对长时间用兵有些厌倦,召见赵昌言道:“西川本来就是一个国家,太祖平定至今已有三十年了。”赵昌言知道宋太宗的意图,就上前用手指画攻取之策。宋太宗很高兴,命其为川陕五十二州招安行营马步军都部署。赵昌言诚恳推辞,宋太宗不准,赐其精良铠甲、宝马及白金五千两,又赐手札数幅,均为讨贼方略。令从王继恩往下,均受赵昌言节度。
出发前,有人表奏赵昌言没有儿子,鼻梁不直,颇有反相,不宜使之手握重兵入蜀。其后几天,宋太宗于北苑门说:“昨令赵昌言入蜀,我想了想,还是有所不便。况且蜀贼是小丑,而赵昌言是大臣,没有必要叫赵昌言前往。暂且令他驻守凤翔(今陕西凤翔),只派内侍卫绍钦带我手书指挥军事就可以了。”诏书追到时,赵昌言已到凤州,便留在候馆百余日。
王小波、李顺被镇压后,赵昌言改任户部侍郎,免去参知政事,知凤翔府,又调职知澶州、泾州、延州。 宋真宗即位,赵昌言迁兵部侍郎,知陕州,上表请求回京,未被批准。没过几天,移知永兴军。
咸平三年(1000),与吕蒙正、寇准同被召见,以本官兼御史中丞、知审官院,负责对官吏的考核、调动。有人提议门资官不宜任用寒门。赵昌言上疏,指出任命官员应重视的是才干,不能以是否出身贫寒为标准。朝廷认为很对。赵昌言升任工部尚书,仍兼中丞。
在这以前,朝廷多次派遣官员巡察群臣有无违法乱纪之事。赵昌言建议按照旧的做法,命左右巡使分别管理这些事。由于断狱有失公正,审刑院官员赵安仁、大理寺官员韩国华被解职。对此,赵昌言上言:“对详断官的任用,应当谨慎地选择,从今起,如有被议用刑不当的,要严加揭露,以示惩罚,且要派他到边远的地方去任职。如果有罪被问,不能立即伏罪的,允许主管此事的官员深究。再就是大辟等重刑,要如实记录上奏,付刑部复审,用刑不当者要受到弹劾,并依法追究责任。现在只有开封府没有按规定上奏刑部,有时断狱有失,只追究直接办案官员,知府、判官、推官、检法官均没有责任,那么靠什么显示出是非曲直呢?望从今日起开封府也能依法办事。”孟州百姓常德方状告临津尉任懿靠贿赂登第,事情告到御史那里,因当事人是赵昌言故旧,使他受到牵连,被贬为安远军行军司马,移武胜军。
赵昌言喜欢提携后辈,李沆在潭州为官时,赵昌言觉其有宰相之才,便上朝推荐。王旦在岳州、平江一带任职时,赵昌言一见,觉其前程远大,便将女儿许配给他。后皆为贤相。赵昌言作事有气魄,为官无所避讳,所到之处,以威断立名,虽然屡经摈斥,秉性也未改变。但他的刚愎自用、率性而为,以及傲慢对待僚属的作风,也为时论所不容。
景德初(1004年),赵昌言任刑部侍郎,他请求兼任三馆职务,朝廷命其判尚书都省。真宗视察澶州,认为盟津居于险要之地,又增加了兵力,命赵昌言知河阳。赵昌言知天雄军时,境内有小盗,他张榜晓谕:“能告贼者,给赏,牙吏即升职。”枢密使王继英认为缉拿小盗不应当擅自悬赏,命令赵昌言更改告示。不久,赵昌言徙知镇州,迁户部侍郎。
大中祥符二年(1009年),赵昌言卒于家中,年65岁。朝廷追赠吏部尚书,谥号景肃。宋真宗录用他的儿子庆嗣为国子监丞,给他俸禄让他守丧满期。侄孙允明为同学究出身。