It was a titanic battle of old between the northern and southern foes played at a cold and windy community stadium that has a capacity of 15 000 fans, hosting mainly football games.
The Blue Bulls had the ascendancy in terms of the scrums, possession and territory but it was the unbeaten Province team that held their nerve and scored when it was needed to set up a SuperSport Rugby Challenge final showdown with the Tafel Lager Griquas in Cape Town next weekend.
Western Province claimed the lead 10 minutes into the second half but then relinquished their advantage just minutes later. But an unconverted try by No 8, Jaco Coetzee, was the difference between the sides as Province held out for the final 10 minutes as the Bulls tried in vain to find the winning score.
Province thought they had opened the scoring in the third minute, as flanker Johan du Toit burst over the line to score, but after a referral by referee Adriaan Jacobs, the try was overturned due to a forward pass by centre Michal Hazner to stand-in captain Craig Barry earlier in the move.
That early scare set the Bulls in motion as they worked their way down the field and after numerous WP penalties, centre Dries Swanepoel dived over for the opening try after some good side-stepping. Province conceded a penalty on the halfway line as man of the match Godlen Masimla had dived on Swanepoel after the try was scored.
But such was the strength of the wind that the Bulls were playing into in the first half, that flyhalf Joshua Stander tried to go for touch but failed to find it and handed possession back to Province.
Province worked their way back into the opposition half and, with a penalty awarded, Masimla took a quick-tap and forced his way close to the line, only to be stopped short. WP worked the ball back and moved left with centre Ruhan Nel almost forcing his way over, but a clever offload to Luke Stringer allowed the flanker to stretch for the line to score Province's first points of the match.
The home side had to spend 10 minutes with 14 men as lock Jurie van Vuuren was shown a yellow card for a dangerous high tackle after flyhalf Kurt Coleman had landed a penalty to give Province a three-point lead midway through the first half.
The Bulls used their numerical advantage well and scored a converted try through replacement utility back, Franco Naude as the ball was chipped into open space behind the Province backline before bouncing perfectly for Naude to collect and score close to the poles.
Coleman landed his second penalty of the afternoon as the Bulls were caught offside to leave his side just one point adrift at the halftime break.
JD Schickerling's introduction in the second stanza gave Province a bit more solidity in the scrums and some go-forward in the loose as the big lock set up Masimla's try after 63 minutes. Coleman and Stander had traded penalties early in the second half before Schickerling's strong run.