Melbourne Storm took another step towards the NRL minor premiership and dented South Sydney Rabbitohs' top-four hopes with a 26-16 win despite a hat-trick from Campbell Graham.

The Souths winger accounted for all of their tries in a contest played north of Sydney at Central Coast Stadium in Gosford, but the Rabbitohs were always playing catch up as the Storm cemented their grip on top spot.

Jesse Bromwich and Justin Olam crossed for the Storm inside the first 11 minutes, Cameron Smith converting one of those tries and adding a penalty as the visitors opened up a 12-0 lead.

Kyle Turner's offload set Graham up for his first and Adam Reynolds' penalty made it 12-6 at the break.

The Rabbitohs were level four minutes after the restart when Graham latched on to a wonderful pass from Cody Walker moments after the stand-off had been knocked into the post by Felise Kaufusi, who was sin-binned.

But Cameron Munster jinked his way through the Souths defence to restore Melbourne's advantage on the hour and Smith made it an eight-point game with the boot.

Graham cut the gap to four with his third after Suliasi Vunivalu had a try chalked off by the video referee at the other end but Brodie Croft secured the points five minutes from time.

Melbourne hold a six-point lead over Sydney Roosters at the top while the Rabbitohs are just two points clear of fifth-placed Manly Sea Eagles after a second straight defeat.

The Roosters took command in the battle for second as they defeated third-placed Canberra Raiders 22-18 to go two points ahead of the capital club.

Five tries were scored in the first half, Latrell Mitchell and Daniel Tupou giving the Roosters an 18-12 lead at the break after Jordan Rapana and Jarrod Croker had turned things around for the Raiders following Sydney loose forward Victor Radley's opening score.

Tupou spectacularly collected a high kick for his first try and powered on to a sensational cut-out pass from James Tedesco 12 minutes into the second half to make it 22-12 with what proved the decisive blow.

Elliott Whitehead gave Canberra hope and Croker converted his try but the Canberra captain went off injured late into his 250th NRL game as the Roosters held firm.