十几岁时,老相国病逝了。崔家的家势一落千丈。老夫人与莺莺感受世态的炎凉,更是悲从中来。不久夫人带女儿莺莺、丫鬟红娘和其他家丁,护送相国灵柩回河北安葬。中途因道路有阻,于是暂住在河中府普救寺中。老夫人平日对女儿管教甚严,总是要求她大门不出,二门不迈。因此莺莺也被调教得知书达理、温柔贤淑。崔相国在世时,就已将她许配给了老夫人的侄儿郑恒为妻。在寺中,老夫人怕莺莺心情郁闷,就让丫鬟红娘陪其去殿中烧香拜佛。莺莺一进大殿,在场的人都被她的美貌惊呆了。忽然一人大呼:“我死也。”此人正是洛阳书生张生,他赴京城赶考,路过河中府来看望同窗好友白马将军,顺便游览寺中景色,今日不想竟然看到如此美女,不禁失声大叫。莺莺循声回头望去,与张生火热的目光撞在一起,四目相对,莺莺娇羞地低下了头。张生魂不附体,语无伦次地向红娘介绍自己,莺莺与红娘含笑而去。 张生爱慕莺莺,便向寺中方丈打听莺莺的住处,知道莺莺住在西厢房。张生便与方丈借宿,也住进了西厢房,两人的住处只有一墙之隔。张生自从见了莺莺后,就开始茶饭不思,夜不能寐。一日,老夫人为亡夫做道场,道场内不准男子进入,张生硬着头皮溜了进去,与莺莺再次相见,张生不俗的外表和炙热的眼神触动了崔莺莺埋在心中的深情。张生从小和尚那里得知,莺莺小姐每晚都到后花园内烧香。在一个月朗风清的晚上,张生来到后花园内,偷看莺莺烧香。看到动情处,张生随即吟了一首诗:“月色溶溶夜,花荫寂寂春。如何临皓魄,不见月中人?”来表达自己的爱意。莺莺听是张生的声音,也随即和了一首:“兰闺久寂寞,无事度芳春。料得行吟者,应怜长叹人。”吐露自己的芳心。此时,张生的痴情打动了莺莺,崔莺莺也在心里深深爱上了张生。
本地有一个叛将叫孙飞虎,他听说了莺莺有倾国倾城之貌,便率领自己的五千兵马,将普救寺层层围住,限老夫人三日之内交出莺莺做他的压寨夫人,寺中所有人员都束手无策,等待老夫人拿主意。老夫人希望侄儿郑恒好好表现一番,没想到郑恒却吓得一句话不说,于是老夫人扬言出去,谁能杀退贼兵,就将小姐许配给他。张生挺身而出,要救莺莺于危难。张生的结拜兄弟白马将军杜确,是位武状元,统领十万大军,镇守在离此不远的地方。张生先让红娘用缓兵之计,稳住孙飞虎,然后写了一封书信给杜确,让他派兵前来,打退孙飞虎。三日后,杜确的救兵到来,一鼓作气打退了孙飞虎。
老夫人说出的话现在却又想反悔,没办法只好设宴酬谢张生,在宴席上竟让莺莺认张生做哥哥。莺莺的笑脸僵在了脸上,张生的脸上也失去了血色。宴席不欢而散。看到这些,丫鬟红娘心中气愤不已,她气老夫人不守信义,开始同情他们的爱情,于是热心正义的红娘私下里安排他们见面。红娘为张生出谋,让他月下弹琴表白自己的心思,莺莺听后动情不已,便叫红娘前去安慰。张生叫红娘带给莺莺一封信,书写自己的相思之苦,莺莺回信写道:“待月西厢下,迎风半户开。隔墙花影动,疑是玉人来。”张生被突如其来的幸福冲昏了头脑,竟理解成跳墙过去约会。当晚,张生赴约来到后花园里,他知道莺莺就在墙后面,于是爬墙跳了过去,看到莺莺一把搂到怀里。莺莺大惊,怕被在角门把风的红娘看见,于是拿出大小姐的架势训斥张生不礼貌。张生以为莺莺不喜欢自己,回去就一病不起。红娘前来探望张生,暗示夜里莺莺会来这里相会,张生精神为之一振,相思病好了大半。深夜,莺莺在红娘的掩护下,来到张生的住处,与张生恩爱缠绵,私订了终身。
老夫人看莺莺这些日子神情恍惚,便怀疑她与张生有越轨行为。于是叫来红娘进行拷问,红娘无奈,只得如实说来。但机智的红娘用“以子之矛攻子之盾”的方法,拿起“信义”的大旗,摆出维护封建纲常和家族利益的样子,以冠冕堂皇的教条压住了老夫人。老夫人无奈,为了相国府的颜面只好自认晦气,又以相国府不要白衣女婿为由,为难张生必须取得功名,才能娶到莺莺。
在碧云天,黄叶地,北雁南飞的时节,莺莺在十里长亭摆下筵席为张生送行,再三叮咛张生此去不管结果如何,都要尽早回来。张生不胜惆怅,发誓一定回来迎娶莺莺,真心不变。两人在老夫人的催促下挥泪告别。张生到京城用心应试,果然考取了状元,连忙写信向莺莺报喜。这时郑恒来到普救寺中,捏造谎言说张生变了心,成了尚书的女婿。本来就希望“亲上加亲”的老夫人听信谗言,再次赖掉张生的婚事。恰巧郑恒与莺莺成亲之日,张生以河中府尹的身份归来,白马将军杜确也来祝贺。真相大白后,郑恒羞愧难言,一头撞死。张生与莺莺历经曲折后终于结合,正应了那句“有情成眷属”。