19世纪中期的新西兰有着优美的自然景色和丰富的矿产资源,还有廉价的劳动力。一批又一批的殖民者纷纷飘洋过海,去那里实现自己的发财梦。
苏格兰女人艾达是一个面目清秀、性格内向的小妇人,她不会说话,有一个9岁的女儿弗洛拉。艾达遵从父亲的安排,嫁给远在新西兰的斯图尔特——一个她从未见过面的男人。
船把她们送上新西兰荒凉的海滩,艾达和弗洛拉等待斯图尔特来接她们。她们只有简单的行李,却有一架黑沉沉的钢琴。斯图尔特带着一帮土著人来接艾达,因为道路难走决定把钢琴留在海滩上。
艾达思念自己的钢琴,只好求助于邻居贝恩斯,请求贝恩斯带她和女儿去海边看钢琴。他们来到海边,艾达急切地扑向钢琴弹起来,弗洛拉在琴声中舞蹈。贝恩斯默默地望着她们,他从这震撼人心的音乐中了解了艾达的心,并迷恋上了她。于是他主动提出以自己的80亩地换取海滩上的钢琴,斯图尔特很高兴,贝恩斯提出要艾达给他上钢琴课,斯图尔特也满口答应了。为了弹琴,艾达只好每天去贝恩斯的小屋上钢琴课,弗洛拉和一只小狗在外面玩。艾达专注地弹着琴,可贝恩斯却不练钢琴,只是痴迷地望着她,对于他来说,上钢琴课是一种很美的享受。
贝恩斯知道艾达极想重新拥有自己的钢琴,于是向她提出“以物易物”:在她弹钢琴的时候他对她做些事,如果她同意,一次算一个键。艾达同意了,对于贝恩斯来说,这不是单纯的游戏,这是情欲的表达。
斯图尔特问艾达贝恩斯的钢琴弹得怎样,艾达只是笑了笑,毫不知情的斯图尔特很满意。在长久的交往中,艾达和贝恩斯的感情与日俱增,不料他们在一次裸体相对时被不谙世事的弗洛拉发现了,她把这件事告诉了斯图尔特。而贝恩斯深深地陷入了爱情的痛苦之中,他觉得这是没有回报的爱恋。
艾达又一次去找贝恩斯的时候被斯图尔特发现了,他用木板把门窗钉死,软禁了艾达。第二天一早,斯图尔特又拆下了窗上的木板,告诉艾达他信任她,于是出去干活了。而艾达在送贝恩斯信物时又一次被发现,斯图尔特暴怒了,失去了理智的他砍掉了艾达的一个手指。然而,艾达是无法说服的,这也许是一种意志的力量。斯图尔特终于彻底绝望了,他带着枪来到贝恩斯的小屋,要他带艾达走。
有情人终成眷属,贝恩斯带着艾达和弗洛拉以及钢琴离开了小岛。在船上,艾达在经过激烈的思想斗争后,终于决定抛弃这象征了她沉重的痛苦记忆的钢琴,她把它掀到了海里。
贝恩斯与艾达组成了幸福的家庭,艾达以教钢琴为生,贝恩斯请人给她做了一个银指套,每当银指套与琴键相撞时,总会发出一种奇特的声响,它融入了钢琴美妙和谐的音符之中,创造出了另一种完美的旋律。艾达也渐渐开始学说话,但是声音粗得吓人,她只是在黑暗中独自一个人说话,倾诉自己的心声。