The Power charged to the lead in the second term before riding a strong challenge and pulling clear again to prevail, 15.10 (100) to 11.7 (73).
The Giants lost key defender Phil Davis to an apparent neck injury and saw Jacob Hopper taken from the field on a medi-cab after he was accidentally kicked in the head while attempting a smother.
It compounded a difficult night for the Giants, who missed the chance to climb back into the top-eight.
Port Adelaide took an eight-point lead into the main break.
The battle resumed almost immediately in the second half, with Daniel Lloyd getting the Giants close before Jesse Hogan eventually put them ahead with a goal in the goal square.
Toby Greene stamped himself on the game with a goal, which followed on from two behinds not long before.
The Giants hit the front again briefly during the third quarter but trailed again by seven points when Harry Himmelberg coughed up a huge goal-scoring chance in the shadows of three-quarter time, accidentally letting the shot clock expire and being tackled by the Power who scored twice to get breathing space early in the final quarter.
Lloyd kicked three goals for the Giants and Greene booted 2.4 on return after a week in isolation, while Josh Kelly (32 disposals) and Hopper (28) battled hard in the midfield.
The Giants next do battle against the Geelong Cats, with the date, time and venue to be confirmed.
Giants topple but keep finals dream still alive
THEY are still in the AFL finals hunt but the GWS Giants have gone down in a shock loss to Port Adelaide on Sunday.