Glasgow stunned the Bulls to win the URC grand final and claim the club’s first trophy since 2015.

Warriors went into the game at Loftus as huge underdogs but stunned the sold-out crowd and the home team with a brilliant second-half performance to seal a precious victory.

Here is how Franco Smith’s players performed:

15 Josh McKay

Powerful runs from deep offered Glasgow encouragement throughout the contest as the Player of the Season again made his mark. Terrific defensive effort too. 8

14 Sebastian Cancelliere

Rumbustious run from deep inside his own half almost led to a first-half Glasgow try. Put in a score-saving tackle to thwart a Bulls breakaway. 7

13 Huw Jones

Knocked on to halt a promising move but made up with a brilliant try-saving tackle later in the half. Gave Glasgow the lead in the second period as he completed a brilliant move for try number three. 7

12 Sione Tuipulotu

Always eager to get on the ball and bulldoze forward against the blue wall of defenders. A leader on the park who gave his all as expected. 7

11 Kyle Steyn

Conceded the penalty that saw Glasgow fall behind early on but did well to deny the Bulls a try shortly afterwards. Came within inches of a score of his own before teeing up Jones to dot down. 8

10 Tom Jordan

Marked his 50th appearance with another bright performance. Was the man penalised ahead of Bulls’ try and finished the game in the bin for a high tackle. 7

9 George Horne

Tenacious as ever from the scrum-half although poor goal-line dropout contributed to the Bulls’ try. Kicking off the tee, however, was close to flawless. 7

1 Jamie Bhatti

Pinged for not rolling away as the Bulls knocked over their second penalty but did well in the scrum battle with Wilco Louw. 6

2 Johnny Matthews

Didn’t get off to a great start with a flubbed first lineout but steadied himself after that to put in a solid display. 6

3 Zander Fagerson

Combined with Rory Darge to deny the Bulls’ Wilco Louw from crashing over the line from close range. Tighthead left everything out on the pitch as Warriors chased a famous victory. 8

4 Scott Cummings

Involved in some first half argy-bargy as tempers frayed with Warriors struggling to keep the Bulls at bay. Got his team on the board with a try right at the end of the opening period. 7

5 Richie Gray

Another who never shied away from the physical challenge both in the loose and in the set-play. Brave call to go to the back of the lineout for Glasgow’s first try. 6

6 Matt Fagerson

Mixed it up with Munster’s Peter O’Mahony last weekend and didn’t shy away from getting in the faces of the Bulls pack either. Played his part in the build-up to the score right before the break and crunched into every tackle. 9

7 Rory Darge

Did brilliantly to hold the ball up on the line as the Bulls came within inches of landing the first try of the game. Defended valiantly throughout. 7

8 Jack Dempsey

Put in another tireless shift against this powerful Bulls pack. Stopped just shy of the line as Glasgow chased a second try after the break and denied what would have been a stunning breakaway try for an earlier infringement. 8

Replacements   

16 George Turner

On early in the second half for his final appearance in a Warriors jersey and claimed a precious maul try to mark the occasion. 6

17 Nathan McBeth

The South African-born prop replaced Jamie Bhatti as part of a double change. 6

18 Oli Kebble

Unused as Zander Fagerson again went 80 minutes. N/A

19 Gregor Brown

A late replacement on the bench for the ill Max Williamson and came on for Richie Gray for the last 20 minutes. 5

20 Euan Ferrie

Another unused replacement N/A

21 Henco Venter

Sent on for Rory Darge as Glasgow chased the win. 6

22 Jamie Dobie

Replaced Cancelliere in what now seems to be his new position on the wing. 6

23 Duncan Weir

Veteran of the 2015 champions watched it all from the bench N/A

Bulls: Devon Williams, Sergeal Petersen, David Kriel, Harold Vorster, Kurt-Lee Arendse, Johan Goosen, Embrose Papier, Gerhard Steenekamp, Johan Grobbelaar, Wilco Louw, Ruan Vermaak, Ruan Nortje, Marco Van Staden, Elrigh Louw, Cameron Hanekom

Replacements: Akker van der Merwe, Simphiwe Matanzima, Francois Klopper, Reinhardt Ludwig, Nizaam Carr, Zak Burger, Chris Smith, Cornel Smit