Port Adelaide has recorded a tense one-point win over St Kilda in a scrappy encounter at Cazalys Stadium in Cairns on Saturday night.

Power forward Robbie Gray's hurried shot from beside the boundary for a behind with 31 seconds left on the clock secured a 5.13 (43) to 4.18 (42) win in wet, slippery conditions.

Port booted five of the last six goals of the ugly contest to secure its second win of the season.

St Kilda was left to rue missed opportunities, particularly several gettable set shots.

The wayward Saints ran up 10 straight behinds from early in the second quarter until young forward Max King broke through for a goal early in the last quarter.

St Kilda had enough of the ball to open up what should have been a more sizeable lead than 13 points at the first break.

The Saints dominated the inside 50 count 24-8, but the greasy conditions ensured this was never going to be a tropical downpour of goals.

Every goal was prized more than normal and St Kilda at least had two, from a King free kick and a Daniel McKenzie shot on the run, to provide the early buffer.

The soap-like ball made precision handling almost impossible but a string of short passes enabled the Saints to land it on a leading Jack Higgins' chest for a set shot goal that stretched the lead to 19 points early in the second term.

Port gradually worked its way back into the contest after being outplayed in most key aspects early in the game.

ST KILDA                        2.3    3.6    3.13   4.18  (42)
PORT ADELAIDE            0.2    1.4    4.6     5.13 (43)

GOALS  
St Kilda: King 2, McKenzie, Higgins
Port Adelaide:
Gray 2, Wines, Farrell, Marshall

BEST  
St Kilda: Steele, Ross, Sinclair, Crouch, Wanganeen-Milera
Port Adelaide: Aliir, Butters, Rozee, Wines, Amon 

INJURIES  
St Kilda: None
Port Adelaide: Georgiades (TBC)

SUBSTITUTES  
St Kilda: Jarrod Lienert (unused)
Port Adelaide: Xavier Duursma (replaced Georgiades)