隋炀帝有史记载的女儿只有两位。一个是萧皇后所生,为隋炀帝嫡长女。另一个母亲不详,为庶出。
开皇六年,晋王妃萧氏生下晋王杨广的第一个孩子。尽管是个女儿,晋王对其非常宠爱。作为嫡长女,这个女孩自幼就受到大家的重视,父母对其管教很严。她也不负众望,美丽聪慧,很有才华。
开皇十九年,由祖父隋文帝做主,十四岁的晋王嫡长女嫁褒国公宇文述次子宇文士及。从此,晋王杨广和宇文家族的关系越来越密切,直至宇文化及杀隋炀帝杨广。
开皇二十年,晋王杨广夺嫡成功,被册立为皇太子,晋王妃萧氏成为太子妃。杨广十五岁的嫡长女自然身份更加尊贵。
仁寿四年,隋炀帝杨广即位,册立萧氏为皇后,嫡长女被封为南阳公主。大概就在这一年,后宫的某位不知名的宫女,为隋炀帝生下他的第二个女儿。这个女儿并没有她姐姐那般受到所有人的重视。
大业年间,隋炀帝的两位公主跟着父皇迁居江都。一个三十一岁,另一个大概十三岁。大业十三年,隋炀帝被南阳公主丈夫的兄长宇文化及所杀。宇文化及立隋文帝之孙秦王杨浩为皇帝,自任大丞相,然后率军西行,准备回长安。两位公主也被叛军囚禁。自此,南阳公主视宇文家族为仇人,不再理睬自己的丈夫。
武德二年,魏州总管元宝藏归附唐朝,并捕获隋朝重臣杨恭仁,将杨恭仁送到长安,隋炀帝次女极有可能和杨恭仁同时被唐军俘获。她到长安不久,就被唐高祖李渊赐给次子秦王李世民为侧妃。李世民很喜欢她,当年她就为李世民生下第三子李恪。此后又生下李世民第六子李愔。高阳公主和巴陵公主也可能为杨妃所生,与此同时,窦建德在聊城杀宇文化及,南阳公主的丈夫宇文士及投奔唐朝。
被留在河北的南阳公主没有和母亲萧皇后一起前往突厥,而是出家当了尼姑。
次年,李世民败窦建德,南阳公主准备返回长安。她在洛阳见到了宇文士及。宇文士及请求与南阳公主复婚,但当时宇文士及已经娶寿光县主,南阳公主断然拒绝了宇文士及的再三请求。
此后,南阳公主一直在长安郊区的福庆寺修行。
武德九年,李世民发动玄武门之变,夺得帝位。南阳公主的妹妹被册封为一品妃,很可能是淑妃。杨妃所生的吴王李恪和高阳公主极受唐太宗的喜爱。