The game was only four mins old when Portadown's Adam Brown opened the scoring from a cross that found its way into the Ballinamallard net.
After a period of pressure from the home side they got their second goal with a close range shot from Nathanial Ferris that gave the visitors keeper no chance.
Despite being two goals down the Mallards started to come back into the match with more vigour and on the 23rd minute Kyle Coalter pulled one back with an initial shot that the Portadown 'keeper couldn't hold, the ball bounced behind him and he could only watch the Ballinamallard striker walk it into an open net.
Once again Portadown came back and got their third on 39 minutes with a one-on-one on the goalline between the Ballinamallard 'keeper Jordan Coalter and Portadown's Peter Campbell which ended up in the back of the net.
Everything seemed to be going all Portadown's way when both teams lost a player with two straight red cards in first half stoppage time.
The second half again saw Portadown dominant. The pressure around the visiting goal was getting more intense and this led to Ballinamallard's Conall Quinn turning the ball into his own net.
Just as Portadown felt they had done enough and took their foot of the gas back came Ballinamallard with goal from Jordan Breen after 65 minutes.
The rest of the second half became an end to end game with no final cutting edge.
The final whistle came and Portadown had done enough to see themselves into the second round draw.
Final score: Portadown III 4-2 Ballinamallard United III