新妈妈贝丝(莉顿·梅斯特饰)飞往克罗地亚,参加由她刚离婚的闺蜜凯特(克里斯蒂娜·沃尔夫饰)安排的度假旅行。晚餐时,贝丝吐露她与丈夫罗布(卢克·诺里斯饰)的婚姻陷入了低谷,不知道该怎么办。当晚,他们去夜店,有两个男人与他们调情。凯特建议贝丝进行一夜情。第二天早上,贝丝醒来,对晚上发生的事情感到迷茫,意识到凯特失踪了。她与爱彼迎公寓的房东塞巴斯蒂安交谈,塞巴斯蒂安说他会为她们前一天晚上带回家的那两个男人额外收费。在联系了罗布和凯特的前男友杰伊(帕斯·塔克勒饰)后,两人都认为凯特以自我为中心且性格狂野,不予理会,于是贝丝报了警,但警方也对此漠不关心。
只有载她们去夜店的叙利亚出租车司机扎因(扎因,贝丝每次都会给他小费)感同身受,答应帮忙。在他的帮助下,贝丝找回了凯特的钱包和手机,并得知夜店里的那两名男子是凯特雇佣的陪护人员(马特奥(卢乔·昆切维奇饰)和卢卡(马尔科·布雷克饰)。然而,他们是骗子,会给像凯特和贝丝这样的女性下药并抢劫。
有了这些新信息,贝丝回到警方,警方终于对凯特的失踪展开了正式调查。她接受了毒品和性侵犯检测。贝丝打电话给凯特的男友杰伊,杰伊说他已经好几个星期没和凯特说话了。罗布也抵达克罗地亚,并立即怀疑扎因是凶手。不久后,凯特的尸体在水中被发现,贝丝悲痛万分。她在太平间用脸部识别解锁了凯特的手机。她翻遍手机寻找线索,发现了罗布和凯特之间的短信,揭露了他们有染。
贝丝被传唤到警察局,成为新的主要嫌疑人。警方透露,凯特和贝丝体内都含有毒品,贝丝由于失忆而怀疑这一点,并坚称自己被下了药。警方讯问了两名陪护人员,他们没有犯罪记录,也否认有任何不当行为。警方在继续调查的过程中没收了贝丝的护照。贝丝打电话给杰伊,发现他知道罗布和凯特有染。她与扎因交谈,但排除了罗布是杀害凯特的凶手的可能性,因为他周末在家照顾孩子。贝丝打电话给罗布,质问他,说她知道他们有染。
警察赶来逮捕了贝丝。警方告诉她,扎因与一个人口贩卖团伙有联系,并指控贝丝雇佣他谋杀凯特,因为凯特与她的丈夫有染。贝丝与扎因对质,扎因称该团伙只是把他带到了美国,仅此而已,并坚称他与凯特的谋杀案无关。贝丝对警方如何知道罗布与凯特有染感到震惊。她发现自己的房间被安装了窃听器。
趁Airbnb房东塞巴斯蒂安(阿德里安·佩兹迪克饰)外出时,贝丝潜入他的私人录音室,发现他偷偷录下了所有租客的录音。搜索录像,贝丝发现自己在凯特失踪当晚早早就被安排上床睡觉。录像还显示凯特被妓女抢劫,她开车报案,最终又开着另一辆车回来。贝丝记下了车牌号。塞巴斯蒂安回来后,凯特和他发生了争执。塞巴斯蒂安删除了所有视频,但贝丝逃脱了。她跑到外面,扎因也在那里。他们来到出租车公司,采访了当晚载凯特的司机。扎因说凯特让他开车带她去跟踪那两个男人,最后他把她送到了警察局。
新闻报道,贝丝被指控为凶手。在外出寻找线索时,扎因和贝丝被当地人举报,于是警方前来逮捕他们。帕维奇前来逮捕贝丝时,她发现当晚送凯特回来的是帕维奇(阿马尔·布克维奇饰)的车,而正是这位警察怀疑凯特的说法。帕维奇与凯特的失踪案有关。扎因主动投案自首,贝丝得以逃脱,但最终被帕维奇抓住。贝丝指控帕维奇杀害了凯特,因为凯特拒绝了他的求爱。在两人的搏斗中,帕维奇从楼顶坠落身亡。贝丝得知帕维奇曾有性侵性工作者的记录,但由于证据不足,他无法被解雇,于是被调到旅游业工作。根据尸检报告,人们认为帕维奇击中了凯特的后脑勺,并在她还活着的时候将她扔进了当地的河流。贝丝最终被判无罪,并感谢扎因的帮助。
不久之后,贝丝在送艾斯特去罗布家的路上收到了扎因发来的短信,上面写着“回头见”。罗布想要和好,但她拒绝了。贝丝在寻找车钥匙时,在罗布的外套口袋里找到了她送给凯特的项链上的黑色缟玛瑙珠子。她意识到是罗布害死了凯特,于是在与警方通话时与他对峙。罗布承认他飞到克罗地亚就是为了阻止凯特揭露他们的婚外情。在闪回中,罗布原本愿意为了凯特离开贝丝。但凯特称这段婚外情是她人生中最大的错误,并打算告诉贝丝。然而,罗布告诉贝丝,情况恰恰相反。他承认自己当时很生气,对凯特动粗,把她推下水后逃跑了。
贝丝意识到凯特邀请她去克罗地亚是为了让她想起在罗布面前的自己,以及她值得拥有更好的生活。警方记录了罗布的供词,当地警察被派往了那栋房子。罗布被捕后,贝丝带着孩子离开了。