文姬一生三嫁,命运坎坷,丁M在《蔡伯喈女赋》描述了她的婚姻。
蔡文姬16岁时嫁给卫仲道,卫家当时是河东世族,卫仲道更是出色的大学子,夫妇两人恩爱非常,可惜好景不长,不到一年,卫仲道便因咯血而死。蔡文姬不曾生下一儿半女,卫家的人又嫌。
她克死了丈夫,当时才高气傲的蔡文姬不顾父亲的反对,毅然回到娘家。
东汉政府的腐败,终于酿成了黄中军大起义,使豪强地主为代表的地方势力扩大。大将军何进被宦官十常侍杀后,董卓进军洛阳尽诛十常侍,把持朝政,董卓为巩固自己的统治,刻意笼络名满京华的蔡邕,将他一日连升三级,三日周历三台,拜中郎将,后来甚至还封他为高阳侯。董卓在朝中的逆行,引起各地方势力的联合反对,董卓火烧洛阳,迁都长安,董卓被吕布所杀。蔡邕也被收付廷尉治罪,蔡邕请求黥首刖足,以完成《汉史》,士大夫也多矜惜而救他,马日碑更说:“伯喈旷世逸才,诛之乃失人望乎?”但终免不了一死,徒然的给人留下许多议论的话题,说他“文同三闾,孝齐参骞。”在文学方面把他比作屈原,在孝德方面把他比作曾参和阂子骛,当然讲坏话的也不少。
董卓死后,他的部将又攻占长安,军阀混战的局面终于形成。羌胡番兵乘机掠掳中原一带,在“中土人脆弱、来兵皆胡羌,纵猎围城邑,所向悉破亡。马边悬男头,马后载妇女,长驱入朔漠,回路险且阻。”的状况下,蔡文姬与许多被掳来的妇女,一齐被带到南匈奴。
文姬被匈奴掠去,这年她才二十三岁,被左贤王纳为王妃,居南匈奴12年,并育有二子,此间她还学会了吹奏“胡笳”及一些异族的语言。
建安十三年(208年)曹操感念好友蔡邕之交情,得知文姬流落南匈奴,立即派周近做使者,携带黄金千两,白壁一双,把她赎了回来。这年她三十五岁,在曹操的安排下,嫁给田校尉董祀,就在这年爆发了著名的“赤壁之战。”
蔡文姬嫁给董祀,起初的夫妻生活并不十分和谐。蔡文姬饱经离乱忧伤,时常神思恍惚;而董祀正值鼎盛年华,生得一表人才,通书史,谙音律,自视甚高,对于蔡文姬自然有些不足之感,然而迫于丞相的授意,只好接纳了她,在婚后第二年,董祀犯罪当死,她顾不得嫌隙,蓬首跳足地来到曹操的丞相府求情。曹操念及昔日与蔡邕的交情,又想到蔡文姬悲惨的身世,倘若处死董祀,文姬势难自存,于是宽宥了董祀。
从此以后,董祀感念妻子之恩德,对蔡文姬重新评估,夫妻双双也看透了世事,溯洛水而上,居在风景秀丽,林木繁茂的山麓。若干年以后,曹操狩猎经过这里,还曾经前去探视。
蔡文姬和董祀生有一儿一女,女儿嫁给了司马懿的儿子司马师为妻。