Brisbane Broncos overcame the absence of skipper Darius Boyd and a series of injuries to move within a game of the NRL Grand Final with a 13-6 win over Penrith Panthers at Suncorp Stadium.
Boyd was ruled out of Friday's semi-final contest because of a hamstring injury but the Broncos dominated for much of the encounter.
Tries from Corey Oates and James Roberts saw the Broncos build a 12-0 lead, though Oates was lost to a head injury, as were Jai Arrow and Sam Thaiday later in the game.
Reagan Campbell-Gillard cut the gap to 12-6 but, after Jordan Kahu's drop-goal made it a two-score game, the Broncos held out amid late pressure from the typically fast-finishing Panthers to claim a place in the preliminary finals with minor premiers Melbourne Storm.
Oates opened the scoring in the seventh minute as he latched on to an excellent pass to the left flank by Ben Hunt and surged down the wing before beating Nathan Cleary to the outside and touching down.
Kahu missed the conversion but atoned for that failure by knocking over a penalty to make it 6-0, before Oates was taken off on a cart after a collision with team-mate Anthony Milford.
Tyrone May went off with a knee injury for Penrith and, though Kahu sliced a penalty attempt wide, the visitors' task was made harder when Roberts surged on to a Kodi Nikorima pass and dummied Dylan Edwards to dot down in the 47th minute.
Campbell-Gillard spun away from two tackles and went over underneath the sticks to keep the Panthers within a converted try.
But, mindful of a late push from the team with the most tries scored in the final 10 minutes this season, Kahu slotted over a one-pointer to ensure extra breathing room for the Broncos.
The rally did come as expected, but the Broncos produced some marvellous defence to keep the Panthers at bay and end their season, while setting up a mouth-watering clash with Melbourne.