Bill Leyland scored a dramatic pair of late tries on his St Helens debut to earn them a stunning derby win over Super League leaders Wigan Warriors.
Harry Smith got Wigan going as Matt Whitley hit back, while Jack Farrimond and Daryl Clark exchanged tries soon after.
Jai Field, on his return from injury, and Zach Eckersley gave the visitors what looked to be a commanding lead before Saints pulled off a remarkable late intervention.
Four tries in just over five minutes followed, first through Jackson Hastings and Tristan Sailor before Leyland's sensational double in the final couple of minutes.
Last time out - Leeds Rhinospublished at 12:09 BST 2 April
12:09 BST 2 April
The Rhinos come into this game off a big win over Warrington
Image source, SWPix.com
Maika Sivo scored his third hat-trick in five games as Leeds Rhinos beat Warrington Wolves to end Super League's last remaining 100% record.
The competition's top try-scorer showed his finishing ability after the Wolves had worked their way into a 12-0 lead in the opening phase of the game with tries from Josh Thewlis and Josh Smith.
Last time out - Bradford Bullspublished at 12:09 BST 2 April
12:09 BST 2 April
Bulls looking to comeback from 40-28 loss to Castleford
Image source, SWPix.com
Jason Qareqare's hat-trick inspired a sensational turnaround as Castleford beat Bradford 40-28 at the OneBore Stadium to secure a second Super League win of the season.
The lead changed hands four times in a frantic first half as Qareqare's treble and Darnell McIntosh's score, replying to tries from Esan Marsters and Joe Mellor, edged Cas 22-16 ahead at the break.
BlakeSteinwede 15', substituted for Steinwede at 15 minutesSutton 64', substituted for Sutton at 64 minutes
Number
5
5, Ryan
Ryan
Number
32
32, Atkin
Atkin
Number
7
7, Milnes
Milnes
Number
8
8, Sutton
SuttonOrmondroyd 58', substituted for Ormondroyd at 58 minutesSouter 71', substituted for Souter at 71 minutes
Number
9
9, Ackers
Ackers
Number
10
10, Lewis
LewisOrmondroyd 24', substituted for Ormondroyd at 24 minutesHallas 32', substituted for Hallas at 32 minutesLewis 53', substituted for Lewis at 53 minutesOrmondroyd 73', substituted for Ormondroyd at 73 minutes
Number
12
12, Fulton
Fulton
Number
30
30, Ruan
RuanHallas 60', substituted for Hallas at 60 minutes
Number
13
13, Mellor
Mellor
Substitutes
home team,Bradford Bulls
Number
14
14, Souter
Souter
Number
33
33, Ormondroyd
Ormondroyd
Number
16
16, Hallas
Hallas
Number
34
34, Steinwede
Steinwede
away team,Leeds Rhinos
Starting lineup
Number
1
1, Miller
Miller
Number
2
2, Sivo
Sivo
Number
33
33, Bird
Bird
Number
4
4, Handley
Handley
Number
5
5, Hall
Hall
Number
6
6, Croft
Croft
Number
7
7, Connor
Connor
Number
10
10, Holroyd
HolroydOledzki 28', substituted for Oledzki at 28 minutesHolroyd 58', substituted for Holroyd at 58 minutes
Number
9
9, O'Connor
O'Connor
Number
15
15, Jenkins
JenkinsPalasia 22', substituted for Palasia at 22 minutesJenkins 68', substituted for Jenkins at 68 minutes
BlakeSteinwede 15', substituted for Steinwede at 15 minutesSutton 64', substituted for Sutton at 64 minutes
Number
5
5, Ryan
Ryan
Number
32
32, Atkin
Atkin
Number
7
7, Milnes
Milnes
Number
8
8, Sutton
SuttonOrmondroyd 58', substituted for Ormondroyd at 58 minutesSouter 71', substituted for Souter at 71 minutes
Number
9
9, Ackers
Ackers
Number
10
10, Lewis
LewisOrmondroyd 24', substituted for Ormondroyd at 24 minutesHallas 32', substituted for Hallas at 32 minutesLewis 53', substituted for Lewis at 53 minutesOrmondroyd 73', substituted for Ormondroyd at 73 minutes
Number
12
12, Fulton
Fulton
Number
30
30, Ruan
RuanHallas 60', substituted for Hallas at 60 minutes
Number
13
13, Mellor
Mellor
Substitutes
Number
14
14, Souter
Souter
Number
33
33, Ormondroyd
Ormondroyd
Number
16
16, Hallas
Hallas
Number
34
34, Steinwede
Steinwede
away team,Leeds Rhinos
Starting lineup
Number
1
1, Miller
Miller
Number
2
2, Sivo
Sivo
Number
33
33, Bird
Bird
Number
4
4, Handley
Handley
Number
5
5, Hall
Hall
Number
6
6, Croft
Croft
Number
7
7, Connor
Connor
Number
10
10, Holroyd
HolroydOledzki 28', substituted for Oledzki at 28 minutesHolroyd 58', substituted for Holroyd at 58 minutes
Number
9
9, O'Connor
O'Connor
Number
15
15, Jenkins
JenkinsPalasia 22', substituted for Palasia at 22 minutesJenkins 68', substituted for Jenkins at 68 minutes