Damien Cook made a superb last-ditch tackle as South Sydney Rabbitohs edged out Brisbane Broncos 22-20 in the NRL.

The Broncos looked set to grab a late winner when Corey Oates burst through the Rabbitohs line, but Cook came to the visitors' rescue at Suncorp Stadium, cutting the winger down mere centimetres from the line.

Cook's tackle capped a fine individual display from the Australia international, who set up two tries and scored what proved to be the winner on Friday.

Adam Reynolds' penalty had got Souths started, with Dane Gagai helping himself to the game's first try in the 23rd minute.

David Fifita pulled the Broncos to within touching distance, though, and after successfully adding the extras, Jamayne Isaako converted a penalty to level proceedings after the interval.

Another Reynolds penalty and a try from Cody Walker restored the Rabbitohs' lead, though, with Cook going over moments later.

Fifita doubled his tally before Kotoni Staggs' try set up a grandstand finish, but the Broncos could not find a winner.

While the Broncos remain in the top eight, Penrith Panthers missed out on the chance to overtake one of their rivals for a finals spot as they went down 24-10 to the North Queensland Cowboys in Townsville.

The Cowboys took an early lead through Kyle Feldt, and though Brian To'o hauled the Panthers level, Murray Taulagi's try saw the hosts pull clear at half-time.

Feldt helped himself to a second after the interval, with Jason Taumalolo on hand to wrap up a comfortable victory late on, ending a five-game winless streak for the Cowboys.