2019年8月,纽约新罗谢尔——网球选手阿特·唐纳森(迈克·费斯特饰)以外卡身份参加了一场挑战赛。他与帕特里克·兹威格(乔什·奥康纳饰)进行最后的对决。观众席上坐着阿特的妻子兼教练——塔希·邓肯(赞达亚饰)。
两周前,尽管阿特仍在伤病恢复期,塔希仍紧锣密鼓地为他备战。他们与女儿莉莉(AJ·利斯特饰)同住。经历连败后,阿特渴望东山再起。塔希对胜利的执着远超婚姻关系,当阿特表白时,她只冷淡回应:"我知道。"
镜头转向衣衫褴褛的帕特里克——他因信用卡失效被汽车旅馆拒之门外,甚至试图用球拍抵房费的荒唐举动也遭拒绝。最终他蜷缩在球场停车场的车里过夜。报名时,登记员出于怜悯给了他半块三明治。得知对手是阿特时,他脸上闪过明显的阴霾。
时光倒流至2006年。少年时期的阿特与帕特里克被称为"冰与火"组合,这对挚友刚赢得美网青少年双打冠军。他们目睹了天才少女塔希(艾玛·戴维斯饰)的精彩对决,当对手愤怒摔拍时,塔希振臂高呼"加油!"的瞬间让两个男孩同时沦陷。
深夜派对上,两人主动搭讪塔希。帕特里克大胆邀请她到酒店房间,而塔希如约而至。三人聊起12岁相识于网球学院的往事时,帕特里克突然爆料曾教阿特自慰的私密往事。当三人轮流接吻渐入佳境时,塔希却抽身后退,饶有兴致地看着两个男孩继续亲吻。临走前她立下赌约:次日对决的胜者才能获得她的电话号码。
比赛中帕特里克险胜。后来1v1练球时,应阿特要求,帕特里克故意模仿他发球前摸球拍颈的小动作,间接承认了与塔希的亲密关系。
2019年赛前,帕特里克通过交友软件寻找临时住所。在酒店偶遇塔希时,对方冷脸警告他远离自己的家庭。当晚他迅速与女伴发生关系解决了住宿问题。
2007年的回忆揭示:已成为情侣的塔希与帕特里克出现裂痕——当她在亲密时刻不自觉切换教练口吻时,帕特里克愤然离场。而看台上独自观赛的阿特,目睹了塔希膝盖重伤终结职业生涯的悲剧时刻。病床前,两人共同驱逐了前来探望的帕特里克。
复健期间,塔希坚持要阿特严格训练她。当屡次跌倒后,她终于崩溃承认职业梦碎。2010年,阿特与塔希旧情复燃,她以教练身份重返球场,但暗中仍与帕特里克保持关系。
2019年赛场上的帕特里克先胜后衰,情绪逐渐失控。闪回揭示他曾哀求塔希担任教练,却被掌掴羞辱:"你不过是个装可怜的失败者!"帕特里克反唇相讥:"你根本不爱阿特!只是把他当作连接网球的工具!"
桑拿房的赤裸对峙中,阿特揭穿帕特里克目睹他与塔希出轨的往事。深夜狂风里,塔希与帕特里克在车上达成"故意输球"的交易,情欲却再次爆发。
决胜局上演惊天逆转:当帕特里克用标志性动作暗示与塔希的私情后,阿特故意犯规让分。两人越战越勇,最终阿特飞身救球越过球网,被帕特里克稳稳接住。在塔希熟悉的"加油!"呐喊声中,昔日好友紧紧相拥,仿佛找回最初的网球热情。
这部充满荷尔蒙的三角关系剧,通过网球拍线的震颤隐喻人物关系的张力。导演用交叉蒙太奇将三个时空编织成命运罗网,当绿色小球在镜头前呼啸而过时,观众能清晰听见欲望击碎友情的爆裂声。