大义公主其实并不是她原来的称号,她曾经是北周的千金公主,被派去突厥和亲。后来北周被灭,千金公主的父亲被诛九族,为了保证丈夫的安全,她向灭族仇人屈服,请求做杨坚女儿,改称大义公主。但毕竟是前朝公主,最终也逃不过一死。
579年,突厥佗钵可汗派使节求婚,宣帝是个花花公子,根本不懂带兵打仗,当然求之不得,选中堂妹大义公主下嫁。大义公主闭门家中坐,祸从天上来,可君命难违,她只得接受。几个月后,一个好消息传来,他钵可汗病死了,公主下嫁暂时被搁置起来。
然而没等公主一家高兴多久,580年2月,新即位的沙钵略可汗派使节前来迎亲,这一次大义公主不能不走了,她含着热泪告别父母,踏上了北去之路。沙钵略可汗很宠爱这位娇弱美丽的小妻子,在丈夫的帮助下,大义公主的心情平静下来并慢慢适应了新环境。
然而命运是残酷的,就在大义公主下嫁的第2年,周宣帝病死,辅政大臣、国丈杨坚以“禅让”的形式废掉并毒死了年仅7岁的北周静帝,于581年2月建立隋朝,史称隋文帝。北周的宗室诸王被斩杀殆尽,大义公主的父亲赵王宇文招起兵反对杨坚,被诛灭九族。
大义公主此时不到20岁,然而过往的经历早已经使她认识到命运的残酷与无奈,她早早地成熟了。她明白杨坚最希望看到突厥内部自相残杀,万般无奈下,大义公主决定暂时将自己的国恨家仇放在一边,先帮助丈夫走出绝境。她向杨坚写去亲笔信,表示自己虽是北周公主,却十分钦佩杨坚的圣明,请求做大隋皇帝之女。
杨坚此时也没有足够精力打败突厥,于是顺水退舟,赐公主杨姓,收为养女,改封千金公主为大义公主,希望她深明大义,为隋和突厥安定做出贡献。此后,两国来往不断,取得暂时的安宁。
587年,沙钵略病死,其子即位。大义公主按照突厥的风俗,又嫁给沙钵略的儿子都蓝可汗。589年,杨坚灭掉南朝陈国,为表示恩宠,将后主陈叔宝一面华贵的屏风赐给大义公主。公主久居塞外,许久没有见过如此华丽的东西了,睹物思人,国恨家仇一起涌上大义公主的心头,激动之余,她忘记了谨慎,挥笔在屏风上提诗一首这首诗笔力不俗,所以流传了下来。
诗中有一句“余本皇家子,漂流入虏廷”,不知道公主诗中的‘虏廷’指的是突厥还是隋朝,或者两个都指,但杨坚却是认为指的是隋朝。大义公主居然敢把隋朝形容的如此不堪,她的国恨家仇是如此强烈,杨坚大怒,暗想大义公主随时可能挑动都蓝可汗与隋朝宣战,他决定除掉这个隐患。
几乎就在同时,统治突厥北方的突利可汗为争取隋朝的支持,偷偷向隋求婚。隋文帝派人告诉来使:“设计杀了大义公主。隋朝立即许婚’。突利可汗买通大义公主的左右,得知此事,心中大喜。他派人四处散布大义公主与安遂迦私通的消息,国人得知大哗,因为突厥一向禁止通奸,公主所为,已成死罪。都蓝可汗得到安遂迦的供词,再加上突利可汗等人的挑唆和鼓噪,不由大怒,他冲入牙帐,一剑将公主刺死。此时是公元596年,公主年仅33岁。