The young striker came off the bench on the hour mark and struck two goals in five minutes - the 67th and 72nd - as Graham Arnold's men opened up a six-point gap on the Reds at the A-League summit.
And Kiwi international Michael McGlinchey made the game safe in the 87th minute, sliding home the third after another sub, debutant Nick Fitzgerald, had headed the ball into his path. The Mariners could even afford the luxury of a missed Daniel McBreen penalty.
The result could have been decided in the opening 20 minutes with the Mariners missing a host of chances to leave the listless Reds for dead. But they got their in the end.
The competition's leading scorer McBreen was front and centre, squandering three gilt-edged chances, the third of which came back off the woodwork.
Fellow striker Bernie Ibini - back from his 10-day trial with Club Brugge - was also at fault, firing wide inside the six-yard box when a goal looked odds on.
Midfielder Oliver Bozanic was also guilty, allowing keeper Eugene Galekovic to get a hand to his shot after the inspired Ibini's mazy run and dribble down the right had left with with a tap-in at the far post.
The wasteful league leader was at it again in the 28th minute when right-back Pedj Bojic carved out space to cross to the far post where defender Zac Anderson stole the ball from the head of McBreen to put the ball over the bar.
John Kosmina's Reds were barely hanging in but could have stolen a goal at the other end when Jeronimo Neumnan shot wastefully straight at Mat Ryan from a clever Daniel Bowles cross.
And the home side's generosity came back to bite it seven minutes from half-time when former Gold Coast rookie Bowles cut inside and curled a shot past Ryan via a Bozanic deflection for his first A-League goal to give the visitor an undeserved lead.
The equaliser came in the 67th minute when substitute Duke - who had only been on the field a matter of minutes - stabbed the ball home for only his second A-League goal in a crowded penalty box.
It should have been 2-1 two minutes later when Michael McGlinchey's cross hit the arm of Bowles.
But McBreen - looking to bag his 14th goal of the season - saw his spot-kick brilliantly saved by Galekovic.
But the home side was not to be denied and Duke pounced for his second, taking down a long ball from Nick Montgomery, cutting inside a challenge and firing home from 20 metres.
Delighted Mariners coach Graham Arnold said: "We were fantastic tonight. We had energy and power and could have been 5-0 up at half time.
"We were positive at half-time and we knew if we kept pushing the goals would come."
On the impact of Duke, he said: "I have a high opinion of him. I started him against Western Sydney at the start of the season and then he copped a bit of an ankle injury.
"I thought he could do something for us tonight because up to that point nobody else could."
Duke said: "To come off the bench and score a double was a dream. I have been working hard at training and playing and scoring in the youth team in the last few weeks and my confidence is up."