Une jeune veuve écossaise, Ada (Holly Hunter), est contrainte de s'exiler en Nouvelle-Zélande en compagnie de sa fille, pour y épouser Alistair (Sam Neil) un homme, qu'elle ne connaît pas.
Elle débarque sur une petite plage, avec son piano, qui est aussi son seul moyen d'expression, puisqu'elle ne parle plus depuis des années. Son futur époux, qui ne voit pas l'intérêt de cet instrument, le cède à un autre colon, Baines (Harvey Keitel).
Baines, attiré par la jeune veuve, conclut un marché avec elle : lui revendre le piano note par note en échange de services de plus en plus intimes.
Alistair s'en rend compte, devient de plus en plus jaloux, coercitif et ne comprend pas pourquoi sa femme ne l'aime pas, en dépit de tous ses efforts.
Cette relation triangulaire nous montre l'évolution des sentiments de chacun des personnages.
Ada redécouvre qu'elle a un corps et la capacité d'aimer, Baines, lui, se révèle subtil et plein de tact dans son approche de la jeune veuve pendant que Alistair passe de la jalousie à l'espoir puis à la colère avant de comprendre le sens profond du mot "renoncement".
Le morceau de piano qui accompagne le film est bouleversant.