It shouldn't have been such an ordeal, if the Phoenix had taken another of their numerous first-half chances, but the second half turned a bit ugly, mainly due to the horizontal rain and blustery wind.
But Ball's goal – set up by a long Stefan Marinovic clearance – was just reward for their dominance, and gives them a nine point buffer from the seventh placed Western United.
It also continues a remarkable streak in the capital, where they haven't tasted defeat since round three at the end of October.
The Phoenix entered the arena in a new one-off charity strip to mark the club's mental health round, with the purple shirt and green shorts mirroring the colours of the New Zealand Mental Health Foundation.
The home side had downplayed all talk of rivalry and revenge with Rudan's return to Wellington, but they looked fired up from the start, and the first 20 minutes was their best period of the season.
It was an absolute blitz, with the tone set by Ulises Davila, who struck the inside of the post in the first minute. Shots rained down on Kurto, with the Polish keeper evoking memories of his spectacular form in the same stadium last season.
He made a brilliant save to deny a full blooded volley from Ball, then got down well to bat away another Davila effort while Reno Piscopo hit the upright from the edge of the area.
Western United seemed inert, camped in their own half and struggling to string more than two or three passes together.
They were chasing shadows, and after 21 minutes the Phoenix had already recorded eight shots, seven of them on target.
But they couldn't convert, and for a while it looked like the visitors had weathered the storm, with some of the flow going out of the game after an extended stoppage as Greek international Panagiotis Kone was felled by Steven Taylor.
But Wellington finally made it count, though after all their opportunities, the first goal was unusual, as Cacace's volley snuck through the grasp of Kurto in the 29th minute.
The shot didn't look completely intentional – as Cacace was probably looking to square the ball – but was just reward for the incessant pressure.
It was also the climax of another swift passing movement, the ball zipping off the turf with concise angles generating space for each Phoenix player.
Marinovic didn't have a save to make until the 39th minute but it was a good one, as he got down well to smother a dangerous opening for Besart Berisha, while Gary Hooper had the ball in the net just before halftime but was marginally offside.
The game was a different picture in the second half; Western United had to show more initiative, while the Phoenix were guilty of sitting back, at times trying to protect their lead.
Connor Pain was a constant threat on the left, as he had been in the match back in October, while Max Burgess also made an impact against his old team.
Hooper had a couple of good chances – foiled by Kurto – while Marinovic was constantly kept on his toes without being seriously threatened.
The weather deteriorated completely in the final quarter, but the hardy fans (who somehow kept up their shirtless tradition in the arctic conditions) were left singing in the rain with Ball's late strike, which continued the Phoenix's superb run of form this year.
Wellington Phoenix 2 (L Cacace 29, D Ball 90)
Western United 0
Halftime: 1-0