Shailene Woodley's cancer drama The Fault In Our Stars has beaten Tom Cruise's new action blockbuster Edge Of Tomorrow to the top of the North American box office with an impressive $48.2 million (£30.13 million) opening weekend haul.

The film adaptation of John Green's bestselling book, about two young cancer patients who find love in a support group, easily outpaced Cruise's film, which debuts at three with $29.1 million (£18.19 million), behind Angelina Jolie's Disney movie Maleficent ($33.5 million/£20.9 million).

X-Men: Days of Future Past and A Million Ways to Die in the West round out the new top five.