Romantic drama "The Fault in our Stars" seduced more fans than Tom Cruise's latest action flick to top North America's box office at the weekend, industry data showed Monday.
The movie, based on a popular young adult novel by John Green about teenagers who meet at a cancer support group, raked in $48 million in its opening weekend,
That pushed last week's number one "Maleficent" -- starring and produced by megastar Angelina Jolie in a modern retelling of the life of Sleeping Beauty's arch-nemesis -- down to the number two slot.
The wicked witch who has haunted generations of children earned a still impressive $34.3 million in its second weekend in theaters, industry tracker Exhibitor Relations said.
Cruise meanwhile had to settle for third place for his new release "Edge of Tomorrow," in which he stars as a soldier caught in a time loop as he battles aliens. The film earned $28.8 million.
Another time-bending movie, "X-Men: Days of Future Past," fell to fourth place with only $15.2 million in its third weekend out.
And cowboy comedy "A Million Ways to Die in the West," which stars comedian Seth MacFarlane as a sheep farmer in 1880s Arizona, sank to fifth with $7.3 million in ticket sales.
"Godzilla," which features "Breaking Bad" star Bryan Cranston as a tortured Japanese-speaking scientist battling to save humanity, was in sixth with $6.1 million.
And "Neighbors" starring Seth Rogen and Rose Byrne as a couple living next door to a raucous fraternity house, earned just under $5.3 million and landed in seventh.
Romantic comedy "Blended," featuring Adam Sandler and Drew Barrymore, scored $4.1 million in ticket sales for eighth place, ahead of foodie flick "The Chef," the story of a restless chef who takes his talents on the road in a food-truck. It improved on last week's take to earn $2.6 million in ninth place.
And rounding out the top, ten baseball movie "Million Dollar Arm" earned just over $2 million.