12岁的Gillie witnesses是一个波兰水手,她杀害了他的女友并弄到一枝枪,当警察询问她枪支的下落时,她编造了一个故事,这导致了一系列严重的后果。
年轻的波兰水手布罗尼斯拉夫(“布罗内克”)科尔钦斯基(霍斯特·布赫霍尔茨饰)抵达卡迪夫,计划向女友安雅(伊冯娜·米切尔饰)求婚。然而,他发现安雅不见了,公寓里还住着其他人。房东透露,安雅几周前就搬走了,并且拖欠租金,尽管布罗内克每月向她付款。布罗内克偿还了安雅的债务,以便房东向他提供她的新地址。
与此同时,与姨妈住在一起的假小子孤儿吉莉·埃文斯(海莉·米尔斯饰)正在码头边和男孩们玩耍。布罗内克走近这群人,寻求帮助来找到他所得到的地址。住在同一栋楼的吉莉和他一起散步。
布罗内克在她的新公寓里找到了安雅,但她让他离开。由于对布罗内克的长途海上旅行感到沮丧,安雅一直在和一位名叫巴克利(安东尼·道森饰)的已婚体育播音员约会。布罗内克因嫉妒而勃然大怒,对她尖叫,她从梳妆台上掏出一把枪,但布罗内克拿着枪射杀了安雅。吉莉戴着帽子在大厅里玩耍,听到了喊叫声,当她从公寓门的信箱里偷看时,目睹了谋杀案。吉莉戴帽子的动作也掩盖了大楼其他地方的枪声。
吉莉看到了布罗内克藏枪的地方,她把它当作玩具。巴克利前来探望安雅,但发现她已经死亡,便迅速逃离。邻居发现了尸体并报了警。
负责调查的警察局长格雷厄姆(约翰·米尔斯饰)得知枪击事件发生时吉莉就在大厅里,并推断她目睹了这起谋杀案。然而,习惯说谎的吉莉对布罗内克的描述不正确,并且没有告诉格雷厄姆她有枪。后来,布罗内克看到吉莉拿了枪,把她追进了阁楼。他从她手中夺走了枪,他们成为了朋友。他同意在逃离这个国家时带她一起出海。
布罗内克计划第二天乘坐委内瑞拉商船波洛玛号出发;晚上,吉莉带他到乡村的一个藏身之处,在那里他通过重演他的海外冒险来招待她。与此同时,警方发现了一张布罗内克和安雅在一起的照片,引发了人们对布罗内克身份的兴趣。在警方审讯中,巴克利承认在安雅被枪杀的当天去过她的公寓,这使他成为主要嫌疑人。
波洛玛号起航后,布罗内克说服吉莉让他独自前行。布罗内克把他的金属烟盒留给了她。一些野餐者在乡村藏身处找到了吉莉,并将她带到警察局,但她继续撒谎,指认巴克利就是凶手。以巴克利为嫌疑人,她承认自己亲眼目睹了整个犯罪过程,并在公寓里为格雷厄姆重演了一遍,但无意中透露她知道凶手是波兰人。她仍然否认认识布罗内克,但现在警方知道他就是凶手。警方和布罗内克都知道英国法律管辖范围的三英里限制。
格雷厄姆开车送吉莉到巴里码头的引航站,并在波洛玛号接近领海边界时将她带上引航船前往该船。此时,吉莉显然是在试图阻碍格雷厄姆的前进。当检查员在波洛马号上与吉莉和布罗内克对峙时,他们否认互相认识。尽管如此,格雷厄姆试图逮捕布罗内克,但船长阻止了他,称他的导航官已将波洛玛的位置绘制在三英里限制之外,因此超出了英国警方的管辖范围。
吉莉在船上跑来跑去,试图躲避船员和警察,但在试图偷偷上船希望能和布罗内克在一起时却落水了。作为唯一看到她坠落的人,布罗内克潜入水中救她,但失去了他的船。两人被从巴里岛派出的警船救起。吉莉拥抱布罗内克后,布罗内克承认自己有罪,格雷厄姆称赞他救了她的勇敢。波洛玛号扬帆离去,他获得自由的机会也消失了。