Michael Robertson and Tommy Lee scored second-half tries as London Broncos earned a first home win over St Helens since 2002. It was also the Broncos' first home victory this season, and ended a run of 13 straight wins in the capital for the Saints.
The home side, struggling at the wrong end of the table, rang the changes, with Warrington loanee James Mendeika making a first start at centre, and Dan Sarginson and Olsi Krasniqi returning.
St Helens, smarting from their Challenge Cup exit last weekend, gave a debut to Luke Thompson, with Nathan Ashe slotting in at stand-off and Adam Swift replacing the suspended Francis Meli.
The visitors also missed the injured Mark Flanagan, plus Jon Wilkin and Ade Gardner, who were both forced to sit out after offences in the defeat at Hull KR.
The Londoners forced Saints on to the back foot thanks to skipper Craig Gower. But the Broncos were unable to convert that pressure into points. The visitors showed how it should be done with the first score on 17 minutes, Anthony Laffranchi powering over from close range after the hosts knocked-on close to their own line.
Within minutes the Saints had struck again, Swift squeezing in at the corner after an Ashe kick had ricocheted kindly off an opponent. Swift suffered a leg injury in the act of scoring, though, forcing him out of the action.
London hit back with their first try on 25 minutes, Chris Bailey crashing over after a short pass from Gower. Luke Dorn thought that he had brought London level when he skidded over, only to be adjudged as knocking-on.
Then Stuart Howarth went close for Saints, burrowing for the line but coming up just short on the final tackle. In the last action of the half, the visitors threatened again, only for Sia Soliola to be stopped by a great hit from Bailey.
The Broncos were unfortunate to trail at the break, but put that right seconds after the restart, Robertson taking a looping pass from Dorn to canter in at the corner. The hosts had their tails up and stretched clear on 48 minutes, Lee touching down after Sarginson had intercepted and raced clear. St Helens were getting precious little change out of the London defence, despite the best efforts of Ashe and Paul Wellens.
But seconds after Kieran Dixon was held just short for the Broncos, Mark Percival streaked clear for the away side, allowing Wellens to cross in the corner.
The Saints threw everything at the hosts but were unable to find a decisive score, Michael Witt booting a penalty and drop-goal in the final two minutes. Earlier he had converted all three tries.
London Broncos Robertson, O'Callaghan, Mendeika, Sarginson, Dixon, Witt, Gower, Kaufusi, Lee, Krasniqi, Lovell, Bailey, Cook. Substitutes used Bryant, Fisher, Dorn, Dollapi.
St Helens Makinson, Swift, Turner, Jones, Percival, Ashe, Hohaia, Puletua, Howarth, McCarthy-Scarsbrook, Soliola, Laffranchi, Wellens. Substitutes used Walmsley, Clough, Thompson, Charnock.
Referee Tim Roby.