19世紀中期的新西蘭有著優美的自然景色和豐富的礦產資源,還有廉價的勞動力。一批又一批的殖民者紛紛飄洋過海,去那裏實現自己的發財夢。

蘇格蘭女人艾達是一個麵目清秀、性格內向的小婦人,她不會說話,有一個9歲的女兒弗洛拉。艾達遵從父親的安排,嫁給遠在新西蘭的斯圖爾特——一個她從未見過麵的男人。

船把她們送上新西蘭荒涼的海灘,艾達和弗洛拉等待斯圖爾特來接她們。她們隻有簡單的行李,卻有一架黑沉沉的鋼琴。斯圖爾特帶著一幫土著人來接艾達,因為道路難走決定把鋼琴留在海灘上。

艾達思念自己的鋼琴,隻好求助於鄰居貝恩斯,請求貝恩斯帶她和女兒去海邊看鋼琴。他們來到海邊,艾達急切地撲向鋼琴彈起來,弗洛拉在琴聲中舞蹈。貝恩斯默默地望著她們,他從這震撼人心的音樂中了解了艾達的心,並迷戀上了她。於是他主動提出以自己的80畝地換取海灘上的鋼琴,斯圖爾特很高興,貝恩斯提出要艾達給他上鋼琴課,斯圖爾特也滿口答應了。為了彈琴,艾達隻好每天去貝恩斯的小屋上鋼琴課,弗洛拉和一隻小狗在外麵玩。艾達專注地彈著琴,可貝恩斯卻不練鋼琴,隻是癡迷地望著她,對於他來說,上鋼琴課是一種很美的享受。

貝恩斯知道艾達極想重新擁有自己的鋼琴,於是向她提出“以物易物”:在她彈鋼琴的時候他對她做些事,如果她同意,一次算一個鍵。艾達同意了,對於貝恩斯來說,這不是單純的遊戲,這是情欲的表達。

斯圖爾特問艾達貝恩斯的鋼琴彈得怎樣,艾達隻是笑了笑,毫不知情的斯圖爾特很滿意。在長久的交往中,艾達和貝恩斯的感情與日俱增,不料他們在一次裸體相對時被不諳世事的弗洛拉發現了,她把這件事告訴了斯圖爾特。而貝恩斯深深地陷入了愛情的痛苦之中,他覺得這是沒有回報的愛戀。

艾達又一次去找貝恩斯的時候被斯圖爾特發現了,他用木板把門窗釘死,軟禁了艾達。第二天一早,斯圖爾特又拆下了窗上的木板,告訴艾達他信任她,於是出去幹活了。而艾達在送貝恩斯信物時又一次被發現,斯圖爾特暴怒了,失去了理智的他砍掉了艾達的一個手指。然而,艾達是無法說服的,這也許是一種意誌的力量。斯圖爾特終於徹底絕望了,他帶著槍來到貝恩斯的小屋,要他帶艾達走。

有情人終成眷屬,貝恩斯帶著艾達和弗洛拉以及鋼琴離開了小島。在船上,艾達在經過激烈的思想鬥爭後,終於決定拋棄這象征了她沉重的痛苦記憶的鋼琴,她把它掀到了海裏。

貝恩斯與艾達組成了幸福的家庭,艾達以教鋼琴為生,貝恩斯請人給她做了一個銀指套,每當銀指套與琴鍵相撞時,總會發出一種奇特的聲響,它融入了鋼琴美妙和諧的音符之中,創造出了另一種完美的旋律。艾達也漸漸開始學說話,但是聲音粗得嚇人,她隻是在黑暗中獨自一個人說話,傾訴自己的心聲。