A fired-up Sydney Roosters team thrashed an insipid Melbourne Storm 21-6 in a one-sided National Rugby League Grand Final to secure their 14th championship in the Australian top flight.
Daniel Tupou, Latrell Mitchell and Joseph Manu scored tries for the Roosters who charged out of the blocks to lead 18-0 at halftime before closing out the victory with a dogged defensive effort at Sydney Olympic stadium.
The Trent Robinson-coached Roosters claimed their first title since 2013, while crushing the Storm's bid to become the first team to win back-to-back titles since the Brisbane Broncos in 1992-93.
Melbourne's loss was a bitter ending to the career of one of the game's finest fullbacks, with retiring international Billy Slater bowing out in disappointment.
It was a richly deserved win for the Roosters, however, who dominated the regular season and barely put a foot wrong against the Storm, the competition's most dominant side over the past decade.
"I can't talk, it's so good, we started so good that first half, I don't think we've played a better half of footy," jubilant Roosters captain Boyd Cordner said.
After a week dominated by speculation over the state of Cooper Cronk's injured shoulder, the Roosters' star halfback started on the field against the team he helped win the 2017 title.
He had little influence but was barely needed as his team mates covered brilliantly for him.
Halfback Luke Keary was awarded the Clive Churchill Medal as best on field, and set up Tupou's first try in the seventh minute with a sumptuous long pass to the wing.
Mitchell, the great nephew of tennis champion Evonne Goolagong, crossed seven minutes later and finished the match with a conversion and three penalties.
After a terrible, error-strewn start, the Storm's night got bleaker when Cameron Munster was sin-binned on the half hour for a professional foul.
The Roosters exploited their advantage in the 37th minute, whipping the ball wide to set up Manu's try in the right corner.
Slater and captain Cameron Smith tried to rally their team mates after the break but they could find no way to breach Sydney's stonewall defence.
It took a Roosters error deep in attack for Melbourne to secure their first points, with Josh Addo-Carr charging the length of the field to touch down in the 62nd minute after intercepting a Keary pass.
Competing in their third successive Grand Final, Storm pushed hard for a second try but their raids were cut short by swarms of Roosters defenders.
Their campaign ended on a sour note, with Munster sent off for a second time in the dying minutes after kicking Manu in the head.
"We didn't help ourselves, we dropped a bit of the ball but I think the Roosters were just too good," a rueful Slater said.
"We tried our best but that's the way it goes sometimes and I'm really grateful for the career I've had, the friends I've made and what rugby league has done for me."