Arthur (Terence Stamp), a shy, grumpy pensioner, can't seem to find a reason to smile. He cannot understand why his wife, Marion (Vanessa Redgrave), must sing with the local seniors' choir, even after being stricken with a terminal illness. As her condition worsens, Arthur reluctantly joins the choir, taking her place in the lineup.
With a sick wife and a quarrelling son (Christopher Eccleston), Elizabeth (Gemma Arterton), the choir director, takes it upon herself to try and persuade Arthur to shed his grumpy persona and embrace life. As she slowly lures him out of his shell, Arthur embarks on a journey of self-discovery and realizes that itis never too late to change.