PORTSTEWART started the first half strongly with three unsuccessful efforts involving James McLaughlin.
Killymoon improved as the half progressed and McGaw went close with a chip shot on the half hour.
They had an effort headed off the line and Maddison in the ports goal had to tip over a shot in the 40th minute.
The second half was more eventful, Killymoon took the lead in the 46th minute when Gaston in trying to cut out a cross from the right wing headed against a Killymoon forward and the ball rebounded into the net.
Portstewart were level five minutes later when Nicholl fed Dinsmore and he registered his first goal for the club with a low drive into the corner.
The goal of the match came eight minutes later when James Peden lofted a 40 yard free kick over everyone into the far corner of the net.
The Ports went further ahead when the industrious Boylan latched onto a through ball and shot past Brown in the 63rd minute.
Portstewart made sure of the victory in the 86th minute when McLaughlin caught Brown well out of his goal and chipped the ball into the empty net.
Portstewart: Madison, Bradley, A. Todd, White, Gaston, Nicholl, Peden, Dinsmore, Boylan, McLaughlin, Mason subs Parsons (replaced Mason 70), McAllister (replaced A. Todd 85), Ramsey (not used)
Killymoon Rangers: Brown, Kilpatrick, Purvis, McMullan, S. McElhatton, McCaw, Montgomery, Young, Stewart, Kelly, Shannon subs O'Hagan (replaced Kelly 65), Scott (not used), Ferry (replaced Shannon 75)