Portchester had to settle for a point from their trip to the Isle of Wight after throwing away a two goal lead.
The home side netted their equaliser a minute from the end and the point ensured they would not finish in the bottom two positions in the Wessex Premier Division table at the end of the season.
The Royals will be wondering quite how they headed home on the ferry without all three points after recovering from an early set back to dominate a large part of the game.
Cowes opened the scoring on 14 minutes after a throw in on the left was not dealt with by the visiting defence. Connor Furmidge found space to turn and then fire a low shot into the corner of the net.
The home side should have doubled their lead two minutes later when John McKie was put clear through the middle and was one on one with keeper Charlie Searle.
He shot from just inside the box but the visiting keeper blocked his effort and a defender got back to clear the follow up chance.
Play soon switched to the other end of the pitch where Olly Searle played in Steve Ramsey inside the penalty area and his shot hit the outside of the post.
Portchester went close again on 25 minutes when Connal Morrison played the ball inside to Mike Turvey and his shot on the turn was blocked. Ramsey’s follow up effort was deflected over for a corner.
The visitors drew level three minutes later when the ball was worked forward down the left and then passed inside the box to Ramsey, who shot home low into the net from a tight angle.
Portchester then took the lead four minutes before half time thanks to a mistake from home keeper Ed Hatt. He dropped a long ball through the middle into the path of Stuart McConnachie.
Hatt managed to block his first shot but the youngster took the ball past the keeper and then tucked his second shot into the net.
The second half burst into life almost straight from the kick-off when James Wykes went down inside the box but nothing was given and Portchester then had a goal disallowed for offside when it looked onside to most.
Cowes went close to equalising on 50 minutes when Jez Conway’s cross from the right picked out McKie and Charlie Searle gathered the ball safely after the header on goal bounced down off the crossbar.
The visitors went 3-1 up on 61 minutes thanks to Turvey’s persistence. He picked up the ball on the right and cut inside the box before his shot was blocked but he turned past his marker again and put a low ball across goal which McConnachie tapped home from three yards out.
Jack Breed should have made it 4-1 two minutes later when he chased down a long clearance and took the ball to the edge of the box. He fired off his shot but Hatt blocked his effort.
From midway through the second half the home side started to come back into the game after Portchester’s spell of dominance and Finley Phillips almost found a break through but his header lacked the power to trouble Charlie Searle.
Cowes set up a grandstand finish to the game when they were awarded a penalty on 74 minutes. McKie went down under a challenge and although it looked like the defender had taken the ball the referee thought otherwise.
McKie picked himself up and fired home a powerful penalty which Charlie Searle could not keep out.
As Cowes chased the game that gave Portchester the chance to hit them on the break and Jordan Brooks slipped a pass through to Breed, whose low shot went across goal and just wide of the far post.
Breed then turned provider when his cross from the right found substitute Efu Kazadi, who directed his header just wide of the target.
Corners almost brought Cowes their equaliser when McKie had a header punched wide and from the next corner Portchester had to clear the ball off their own line.
With three minutes remaining a corner from the right saw Ashley Brett head towards goal but Charlie Searle made a comfortable save.
However, the home side weren’t to be denied and with a minute remaining they made it 3-3. They battled hard in midfield to win possession and McKie broke forward with the ball down the right.
His cross into the box picked out substitute Callum Watkins who had the time and space to control the ball and then tuck his shot into the net.