|Super League semi-final|
|Leeds Rhinos (8) 20|
|Tries: Hardaker, Hall, Watkins Goals: Sinfield 4|
|St Helens (9) 13|
|Tries: Roby, Percival Goals: Walsh 2 Drop-goal: Walsh|
Leeds Rhinos have a chance of completing their treble in next week's Super League Grand Final against Wigan after fighting back to beat St Helens.
Saints' James Roby and Leeds' Zak Hardaker traded first-half tries before Luke Walsh slotted a drop-goal to put the visitors 9-8 up at the break.
Mark Percival went in to open a five-point lead before Leeds battled back.
Ryan Hall's try put Leeds ahead for the first time and Kallum Watkins completed the turnaround with a last-minute try.
Victory puts Leeds within one win of becoming the first team since Saints in 2006 to claim Challenge Cup, League Leaders' Shield and Grand Final trophies in the same year.
It sets up prop Jamie Peacock for a glorious finale before retiring, while the decider at Old Trafford on 10 October will also mark Kevin Sinfield's last match before swapping codes to rugby union.
A fine individual run from Roby put defending champions Saints ahead, with the hooker evading a series of tackles to run in from 35 metres.
Leeds winger Tom Briscoe lost the ball over the try line before Walsh teed up a penalty to make it 8-0 after 17 minutes.
There was no denying Leeds the next time they went over as Hardaker raced away for the 99th try of his career and after Sinfield added the extras, the captain booted a penalty to level.
In a tense affair at Headingley, Walsh took the next chance he had to put Saints back in front, slotting a drop-goal just before the break.
Saints then survived a Leeds barrage - Carl Ablett had a try ruled out by the video referee and Tommy Makinson succumbed to injury for Saints - but it was the battered visitors that went further ahead as Percival crossed out wide, completing a lightning-quick counter-attack after Hall lost the ball.
But Leeds fought back in the closing stages as Hall powered over, using his strength to put the Rhinos ahead for the first time with 11 minutes remaining.
And with Saints running out of time, Watkins added another to reach a century of career tries and seal Leeds' return to Super League's Grand Final for the first time in three years.
Leeds Rhinos captain Kevin Sinfield said: "I'm experiencing a whole range of emotions I'm very tired, it was one of the toughest games I've been involved with.
"I'm also very happy. To get the win here in front of so many great fans is a nice way to say goodbye to my Rhinos career at Headingley.
"But tonight is not about me or JP (Jamie Peacock) or Kylie (Leuluai), there's a full dressing room of
lads who wanted to win. We have a fantastic group who want to win no matter
St Helens boss Keiron Cunningham said: "All year I've been proud of what my players have done.
"I've no complaints. I've learnt a lot this year. We've been the bridesmaid a couple of times, hopefully next year we can become the bride.
"All credit to Leeds. Everybody had written Leeds off a few weeks back apart from us.
"Leeds are a team capable of doing anything. They remind me of the great side we had in 2006. The way it's set up, it's difficult to even reach a Grand Final after playing at Wembley and they've done the unthinkable."
Leeds Rhinos: Hardaker; Briscoe, Watkins, Moon, Hall; Sinfield, McGuire; Garbutt, Burrow, Leuluai, Ablett, Delaney, Cuthbertson.
Replacements: Keinhorst, Peacock, Singleton, Lilley.
St Helens: Quinlan; Makinson, Percival, Jones, Swift; Turner, Walsh; Masoe, Roby, Amor, Vea, Wilkin, Flanagan.
Replacements: McCarthy-Scarsbrook, Walmsley, Greenwood, Savelio.
Referee: Robert Hicks