萧颖士字茂挺,梁朝鄱阳王萧恢的七世孙。祖父萧晶,贤能而有谋略,任雅相讨伐高丽时,表奏他为记室。越王李贞兴兵,萧晶拿着简策晋见,陈述了三条计策,越王不用,萧晶忖度越王必败,于是出走,客居并死于广陵。
颖士四岁能写文章,十岁补为太学生。看书过目成诵,精通百家谱系与文字之学。开元二十三年考中进士,对策考试第一。其父萧,做WwW.sLkJ.oRg莒县丞时获罪,颖士向府佐张惟一投诉,张惟一说:“萧有好儿子,我因萧的事受责也不遗憾。”于是平反宽宥了他。
天宝初年,颖士任秘书正字。此时,裴耀卿、席豫、张均、宋遥、韦述等都是前辈,器重萧颖士的才干,以平等之礼相待,从此萧颖士便名扬天下。奉命到赵、卫间搜求散佚之书,滞留很久不复命,被主管官员弹劾免职,留下客居濮阳。于是尹征、王恒、卢异、卢士式、贾邕、赵匡、阎士和、柳并等都以弟子的礼节待他,萧颖士顺序讲学,被称为“萧夫子”。后奉召为集贤校理。宰相李林甫想见他,颖士正为父亲服丧,不去。李林甫曾到朋友家邀颖士见面,颖士前往,哭于门内等待李林甫,李林甫不得已,前往萧家吊丧后就走。怒怨颍士对自己不谦恭,调他任广陵参军事,颍士烦躁不能忍受,做《伐樱桃树赋》说:“选择无用的细枝,在支干的庇荫下以苟安,虽本无闻而有人举荐,但终究不是调味的正品。”以讽刺李林甫。君子可惜他的心地太窄。适逢母亲去世免职,流浪于吴越间。
颖士曾说:“孔子做《春秋》,为百代君王不可变易的法则,而司马迁做本纪、书、表、世家、列传,叙事模棱两可,有失一字寓褒贬的笔法体例,不足为训。”于是从汉元年起到隋恭帝义宁年止,按编年史体例,依照《春秋》按义分类方法做传百篇。记魏国高贵乡公曹髦之死时,写道“:司马昭弑帝于南阙。”记梁代陈受禅让时,写道:“陈霸先反叛。”又因自己是梁代裔孙,梁宣帝降西魏后又被立为帝,继承了梁的社稷,所以使开国之君的梁武帝又得以享受祭祀三十余年;往昔曲沃篡位为晋国国君,晋文公为五霸之一,孔子并不贬抑。于是贬抑陈与隋,以唐土德继承梁的火德为正统,这些都是自做论断,各儒学家不赞同他的观点。
太原王绪,是王僧辩的后裔,撰写了《永宁王辅梁书》,贬抑陈代不称之为帝,颖士佐助他,也着《梁萧史谱》并写《梁不禅陈论》文章来阐发王绪的主旨和体例,使其论点更加鲜明。
史官韦述推荐萧颖士代替自己,朝廷召他到史馆等候诏令,颖士乘传车到京城。此时李林甫正专权,作威作福,颍士不肯屈从,更加被忌恨,不久就免官,往来于、杜两地之间。李林甫死,又调任河南府参军事。倭国派遣使臣来朝,提出倭国人希望聘请萧夫子为师,中书舍人张渐等进谏认为不可,于是作罢。
安禄山恃宠放肆,颖士暗地里对柳并说“:胡人得宠骄傲,不久就会作乱,洛阳也许要先陷入贼手!”就称病去游太室山。接着安禄山叛乱,颖士去见河南采访使郭纳,就防御计策进言,郭纳忽视不用,颖士叹息说:“高官们以儿戏态度抵御强寇,真难办啊!”听说封常清在洛阳布置军队,颖士去看了看,没过夜就回来了。于是将家里书籍藏于箕山、颖水间,只身到山南,节度使源洧征召他为掌书记。贼军的一支部队进攻南阳,源洧害怕了,想退守江陵,颍士进言说“:官兵守潼关,钱粮需用很急,必待江、淮转运粮饷才够用,而粮道经由汉江、沔水,那么襄阳就是当今天下的咽喉要地,一旦失守,就会丧失天下。而且您现拥有州郡数十、人口百万,练兵铲除贼寇,是保卫社稷的大功啊。叛贼正横行于崤、陕间,您为什么仓猝丢掉土地,想让天下人笑话吗?”源洧就按兵不出。适逢安禄山死,贼兵退去。源洧死后,萧颖士往金陵客居。永王李瞒召见他,萧颖士不见。
这时盛王为淮南节度大使,留居蜀地不履任,副大使李承式玩忽军备、兵势不振。萧颖士给宰相崔圆写信说“:现在军队的供应在东南,但楚、越在中原相隔千山万水,自古中原乱,则东南盗贼先起,应及时派遣盛王去镇守江淮。”不久,刘展果然反叛。贼兵围雍丘城,威胁泗上军,承式遣兵往救,行前大宴宾客,并安排歌姬舞女表演助酒。萧颖士说“:天子流离在外,这岂是臣子尽情欢乐的时候吗?派出的援军处于胜负未卜之境,却使他们流连声色,一旦有归心,谁能拼死效命呢?”李承式不听。宰相崔圆听到此事,就任命萧颖士为扬州功曹参军。
到任,住了两天就走了。后来客死于汝南旅舍,年五十二岁,弟子们共拟私谥,称为文元先生。