Portland returned to Dorset with all three points from this Wessex League Premier Division encounter.
This was United’s third win over the Royals this season after they won the reverse league fixture back in August and beat Portchester in the League Cup in December.
It was an even game up until the visitors managed to get themselves into a 2-0 lead just before the hour mark.
On 18 minutes Matt Simm managed to win the ball off a visiting defender who was trying to shepherd it out of play. He crossed it into the near post where Joel Jackson was waiting but he couldn’t keep his shot on target.
Two minutes later Portland won a penalty when one of their players went down under a challenge on the right hand side of the penalty area.
However, keeper Charlie Searle was equal to Jamie Symes’ spot kick by getting down low to his left to push the ball away from goal.
The home side had more half chances when Adam Cripps’ free kick went narrowly over and Josh Warren’s glancing header from a corner drifted wide.
On the half hour mark the home side won a free kick after Simm had been chopped down and from 20 yards out Craig Hardy’s free kick was saved by keeper Mike Edgar low down to his right.
Portland broke the deadlock on 50 minutes when Symes finished off a cross from the right from close range.
Four minutes later Jackson received the ball on the left and cut inside the penalty area before firing his shot through a crowd of players but it went straight into the hands of Edgar.
Portland doubled their advantage on 59 minutes when Stephen Walker powered home a downward header after being left unmarked for a corner from the right.
The visitors almost immediately got a third goal when Maxwell Buckler broke through the centre of midfield and passed the ball to the right wing. He was in front of goal on the penalty spot to receive the cross but he fired his shot straight at Charlie Searle.
Portland had more chances to stretch their lead when Walker’s header went wide and Charlie Searle had to dive full length to his left to keep another effort on goal out.
Portchester did pull a goal back on 78 minutes when Marco Giambelardini picked the ball up on the left. He played it inside to substitute Liam Kimber, who took the ball to the byline before pulling it back across goal and Simm eventually forced the ball over the line.
However, it was the visitors who came closest to scoring again in the closing stages when Charlie Searle lost possession of the ball.
A quick pass set up substitute Jamie Beasley but he put his shot wide of the unguarded net.