Second half goals to Josh Bingham and Fabio Ferreira gave Mariners the win over a visibly frustrated Glory side in an encounter that saw seven cards handed out.
The result lifts the Mariners off the bottom of the table into ninth place while for Perth it snaps a revival of five unbeaten matches and leaves their top-six position vulnerable.
A scrappy game in Gosford, the first period was a goalless affair highlighted by a number of shocking attempts - Joseph Mills sent the ball flying out of the stadium in 20 minutes in, while Adam Taggart somehow failed to get contact on a perfectly placed Diego Castro cross in front of an open goal.
The gates opened in the second period when the referee overruled an offside flag to award a goal to Josh Bingham, after a Glory player passed the ball backwards towards his keeper but found the opposing striker instead.
Paul Okon reacted furiously when the flag went up only for Kris Griffith-Jones to interject and rule that Perth midfielder Milan Smiljanic had touched the ball last.
The second came in the 50th minute after Josh Risdon intentionally handled the ball in the box, with Fabio Ferreira placing the ball into the net with a cheeky Panenka.
Mariners keeper Paul Izzo denied Castro twice in the late stages but the result was all but sealed when former Mariner Reddy was sent off after he swung at the ball well outside his box but caught Trent Buhagiar instead.
"It's a reward for our recent performances and effort," coach Paul Okon said.
"At times maybe we rode our luck a little bit, but I think we earned that luck today by our energy, our hunger and desire to get the three points."