大唐宪宗年间,张建封年老,乞求归养。宪宗以其年齿未衰,让他外任徐州,节制武宁军。建封欣然领命。到了任所,处理公务之余,建封广蓄家妓,日常邀友听乐,娱情惬意。
此日,白居易到访,张建封设宴款待,并邀他赏乐观舞。座中有一女,手抱胡琴,姿容艳丽,琴曲奏罢,建封与白居易尚陶醉其间。问之姓名,为旧日京都名妓关盼盼。建封早闻其名,听说她由长安转来此地,而之前忙于公务,尚无缘召之樽俎,赏玩雅乐,不意在此相逢。高兴之余,他请白居易为她写诗,关盼盼也请求赠诗以留名于世。白居易欣然允命,题诗赠之。
张建封得了关盼盼,专宠于她,为她建起一楼,名为"燕子楼"。二人谈诗论曲,彼此爱意方浓,不意建封竟染病而去,燕子楼中空留关盼盼一人。
关盼盼想随张建封而去,但怕人们议论张公有随死之妓,陷好色之名,有损张公清德。于是,她誓不再嫁,想青灯古佛相伴,了此残生。然而,有好事者,慕其才名,写诗相赠,以窥其意。盼盼作诗相答,表己心迹,前后达三百多首,至今流传《燕子楼集》。
然而,自己的心思别人不懂,她想或许白居易能够懂她,于是作了三首诗寄给白居易,白居易也赋诗回赠,中有一诗:"黄金不惜买娥眉,拣得如花只一枝。歌舞教成心力尽,一朝身死不相随。"关盼盼本想保全张建封的清名,才不想寻死,没想到现在反而遭到白居易的讥笑,知己如白居易者尚且这样想,自己再活着也没什么意义,便想坠楼而死。随身丫鬟以其有老母无人奉养相劝,盼盼这才作罢,唯日夕吃斋念佛,为张建封积累冥德,以报其恩。然而,从此关盼盼意趣萧索,不久后更香消玉殒。其母卜吉地将她葬于燕子楼后。
光阴荏苒,大唐灭亡、五代更迭,转眼到了宋朝,有钱易,字希白者,为钱镠王之后裔,时在宫中任舍人,居京日久,想外任一方,在地方做出点政绩。天子允其所请,让他出镇武宁军。
到了任所,见到燕子楼,他想起关盼盼之事,知道她为张建封守寡一生,感佩其贞洁,然而却受到白居易的讥笑,想为她正名。于是,在燕子楼上为此题诗。之后,夜梦关盼盼答谢于他。有感而发,钱希白又作诗一首,以言其梦。