Western Province beat the Blue Bulls 33-26 in the provincial U19 final at Newlands on Saturday.
The hosts led by four points at the break only to fall three behind in the second half, but a long-range penalty and late converted try saw them secure the win.
Both WP and the Bulls came into this final having won 10 of their 13 games this season, although the former had topped the log with the latter finishing third.
Two penalties from flyhalf Ernst Stapelberg gave WP an early 6-0 lead, but the Bulls hit back when they went wide to flanker Abongile Nonkontwana, who scored in the left corner.
Province regained the lead when they attacked on the short side from a lineout, and several phases later fullback Khanyo Ngcukana dived over next to the posts.
The Bulls responded almost immediately when the ball went wide to Jurie Linde, who placed it over the line just before being dragged into touch, before Stapelberg kicked his third penalty to make it 16-12 at the break.
The visitors made a poor start to the second half when No 8 Hanro Liebenberg failed to take the kick-off. That gifted WP with an attacking scrum, and they made it count with Frans van Wyk crashing over for a converted try.
Trailing by 11, the Bulls then turned down a shot at goal only to go for a drop goal that went well wide. But they got themselves back into the game on the 50-minute mark when replacement Menzi Nhlabathi went over.
The Bulls then took a 26-23 lead when Human just managed to ground the ball over the line after Ngcukana very nearly held him up.
Stapelberg had missed two second-half penalties, but nailed a 55m kick to level the scores.
WP then went ahead with four minutes to go when the ball popped out the side of a ruck and Christo van der Merwe kicked it ahead, regained possession and scored in the left-hand corner.
Stapelberg kicked the conversion and while he missed a late penalty, it didn't matter as WP held on for the win.
Western Province U19 – Tries: Khanyo Ngcukana, Frans van Wyk, Christo van der Merwe. Conversions: Ernst Stapelberg (3). Penalties: Ernst Stapelberg (4).
Blue Bulls U19 – Tries: Abongile Nonkontwana, Jurie Linde, Menzi Nhlabathi, Dewald Human. Conversions: Human (3).
Western Province U19 – 15 Khanyo Ngcukana, 14 Grant Hermanus, 13 Heinrich Buhr, 12 Ryan Oosthuizen, 11 Leolin Zas, 10 Ernst Stapelberg, 9 Justin Phillips, 8 Rikus Bothma (c), 7 Luke Stringer, 6 Christo van der Merwe, 5 David Ribbans, 4 Johan Momsen, 3 Francois van der Merwe, 2 Paul-Martin Wipplinger, 1 Frans van Wyk.
Subs: 16 Hanno Snyman, 17 Lebohang Mdakane, 18 Kyle Whyte, 19 Ruan du Preez, 20 Graham Geldenhuys, 21 Brendon Nell, 22 Jarryd Sage, 23 Adriaan Carelse.
Blue Bulls U19 – 15 Warrick Gelant, 14 Jinx Molapo, 13 Jurie Linde, 12 Adrian Maebane, 11 Duhan van der Merwe, 10 Dewald Human, 9 Ivan van Zyl, 8 Hanro Liebenberg, 7 Abongile Nonkontwana, 6 Francois Steyn, 5 RG Snyman, 4 Jason Jenkins, 3 Matthys Basson, 2 Jan van der Merwe, 1 Njubula Gumede.
Subs: 16 Vuyo Khatide, 17 Johan van Wyk, 18 Calvon Allison, 19 Menzi Nhlabathi, 20 Theo Maree, 21 Wyatt Murphy, 22 Attie Louw, 23 Stefaan Grundlingh.