This is the story of a man who has locked himself in his own prison, and is finally starting to break free

Jack Nicholson plays Melvin Udall, an obsessive-compulsive bigot. He's misogynistic, homophobic, racist, and anti-social - basically, he hates everybody and everything. Yet, despite his bitterness he has written 62 hugely successful romance novels and is revered by women everywhere, because of his "insight into the female mind".

He will only allow himself to eat at one restaurant, but Carol (Helen Hunt) is the only waitress left there who will serve him, since his behaviour has alienated all the rest. When Melvin makes a tasteless jibe about Carol's sick son, she threatens never to serve him again, unless she gets an apology. Given his disorder, the woman carrying out her threat would leave Melvin with nowhere to eat; so, to preserve the bare grip he has on control over his life, he is forced to back down, apologise and rescind the comment. The incident makes him realise the implications on his life of Carol's son becoming so sick that she wouldn't be able to work, and it dawns on him that, for his own comfort, he'd better actually do something to help. This is the first key step in the film, and Melvin's first move toward 'redemption'.

The second step comes when Simon (Greg Kinnear), a gay artist who lives lives next door to Melvin is beaten up. Simon's agent and art dealer, (Cuba Gooding, Jr). plays on Melvin's racial bigotry and fear to manipulate him into looking after Simon's pet dog, a creature which, up till now, Melvin has delighted in torturing. Taking on this responsibility is, perhaps the main turning point as the total reliance of puppy on Melvin's care, begins to eat through his tough shell, and soften his heart.

The third key advance comes when Melvin is persuaded to drive Simon -- broke because he can't work -- to see his family to try to borrow money; taking Carol with them. On the trip, inevitably, he is thrown together more with Simon, and their proximity helps Melvin come to understand his neighbour better, and accept him as a person, distinct from his sexual preference. What's more, Carol and Simon hit it off immediately and Melvin's jealousy at seeing the easy closeness of their relationship drives him into a realisation of his feelings for Carol.

Yes, the plot is predictable. Of course Melvin and Carol fall in love But everything is kept fresh and slightly off-balance. All the characters, even the 'good' Carol and Simon have their dark sides, their problems and sadnesses. And the ending is only a beginning for Melvin -- he's come a long way, but he isn't out of the woods yet, not by a country mile.

Kinnear's performance as Simon is excellent, convincing and engaging, and Helen Hunt shows her range, portraying Carol through many moods from happy and carefree to worn down and almost defeated, always indicating an underlying depth to the character. And Jack Nicholson, of course, is commanding. You can't help concentrating on Melvin, every second he's on, whether he's struggling to learn tolerance from a gay neighbor, discovering what unconditional love and trust are about from a (way too cute) puppy, or letting a waitress teach him how to show thoughtfulness and care. There's something indefinable about Nicholson that the camera loves, and he lights up the screen, even when you despise the character he plays - and Melvin's not quite that bad... in the end.

A film thoroughly worth seeing