The Fault in Our Stars, adapted from John Green's novel of the same name, is the story of Hazel (Shailene Woodley) and Gus (Ansel Elgort), two teenage cancer patients who meet at a support group, form a friendship and fall in love. It is a fairly typical teen romantic drama of two souls reaching out to one another, each with their own emotional and physical baggage; Gus a prosthetic leg, Hazel the constant companion of an oxygen tank.

For two thirds of the 126 minute running time, Josh Boone's follow up to Stuck in Love is an uncomfortable experience. Not because of the subject matter of cancer and inevitable death, but because The Fault in Our Stars tries so damn hard.

Constantly we are pushed and cajoled into empathizing with the sick teenagers and to feeling the depth of their friendship. It all feels far too forced. Hazel's mother, Frannie (Laura Dern) gushes and sighs sycophantically, everything is amazing, fantastic, absolutely beautiful The dress she gives her daughter is just one example of painful gushing that is promptly undone in the very next scene when a waitress shows them to a table wearing a genuinely stunning dress.

It is irksome, annoying, cringeworthy and the worst kind of labored, insulting, schmaltzy teen pap that ostracizes anyone with at least two years distance from the completion of puberty. I just wanted Hazel to get on and die so I could go home and whinge at my wife for dragging me along.

Then, in the final act, Boone turns The Fault in Our Stars around. In a scene I shall, in the interest of avoiding plot spoilers, refer to simply as the 'poultry' scene, the dynamic changes. From there on The Fault in Our Stars finds a grip on reality, it stops propelling us into emotional traps and just flows, carrying us along with it.

From there on it feels real. The contrivances evaporate, the bludgeoning ends and it just gets on with the job of showing us a heartbreaking story of life that sometimes isn't fair and death that is inevitable, the only mystery being the timing and cause of it.

Elgot is barely watchable without inciting feelings of mild, petulant violence. He is smug, the ultimate jock without an American football team at his back. While I'm guessing Gus should be suave, confident and just ballsy enough to be admirable and lovable, Elgot plays him as cocky and in need of a jolly good slap. Again, regard that as for the first two thirds; in the final act he, too, manages to rein it in a little and pulls us on side. His Gus isn't bad, just annoying and the kind of kid you'd make you wonder why your daughter wasn't aiming higher.

Woodley (The Secret Life of the American Teenager, The Descendants), however, gives a stunning, tempered performance that pulls us onside from the outset. Hazel is a good kid, a sweet girl but not apple pie perfect – close, but Woodley just avoids it. The emotion that pours from Woodley, racks her and shocks us. It is impossible not to imagine ourselves in that situation even if we have limited experience of it. There is no suggestion of onions rubbed into the eyes prior to rolling the camera, just an outpouring of pent up anger and an unfair amount of heartbreak. Stunning!

Though The Fault in Our Stars belongs to Woodley, director Boone and his screenwriters deserve the final compliment. It would have been far too easy, and from the first hour or so I imagined it no other way, to extend the film to its final mulchy conclusions. Boone exercises restraint, turns around a two-star trudge into a journey that ends with possibility within the inevitability. It is a perfect end that leaves a heaviness in the heart rather than the earlier tightening n the stomach.

For more reviews from The Squiss, subscribe to my blog and like the Facebook page.