Perth Glory got off to a solid start and could have opened the scoring just seven minutes in as Liam Miller's pass found Chris Harold who sent his shot around Mat Ryan but just wide of goal.
Despite that good start the Mariners responded and took the lead in the 13th minute as Daniel McBreen stole possession from Steven McGarry and sent the ball to Michael McGlinchey who had time to play Bernie Ibini through, allowing him to nutmeg Danny Vukovic for the goal.
Again there was a response as Perth Glory found an equalizer in the 27th minute as Nick Ward sent a ball over the top that found Travis Dodd who controlled with his first touch and scored with his second.
In the 38th minute Daniel McBreen had a solid opportunity to restore the lead after he was given time and space but he sent his effort well over the bar.
It was a tight midfield battle at the start of the second half as both teams struggled to create real chances or gain control of possession.
It was Perth Glory who quickly assumed control of the second half and just after the hour mark could well have hit the lead as Josh Risdon hit a powerful shot from distance that went agonizingly wide.
It didn't take long for Perth Glory to hit the lead as Shane Smeltz header was hit so powerfully that despite Ryan getting a touch it still found the back of the net.
In the 75th minute Perth Glory had an opportunity to double their lead as Liam Miller was left unmarked allowing him to get on the end of Heffernan's cross only to send it wide.
The Mariners struggled for the remainder and never really looked like scoring as they slumped to a shock defeat which lifted Perth off the foot of the table.
For all the latest Australian Football news please subscribe and follow the writer on twitter.