The Super League leaders became the first side into the semi-finals of the Challenge Cup as they got the measure of a tenacious London in the final quarter.
The Broncos led early in the second half but threw it away with a series of blunders, leaving Leeds and Kevin Sinfield to take control of the match.
Unbeaten in six games and fresh from taking a point that might easily have been two at St Helens, London threatened to be serious opposition even for a Leeds team in such prolific recent form.
After making much of the early running they then conceded a laughable try, Nick Bradley-Qalilawa losing the ball near the junction of half-way and touchline and his team-mates standing and watching as Danny McGuire strolled away to score.
But Bradley-Qalilawa made up for that error in the 27th minute when Thomas Leuluai showed plenty of his undoubted skills, darted clear and passed to the wing man, who was ruled to have touched down in the corner despite Leeds' protests. Paul Sykes's kick from the touchline tied the scores.
In slippery conditions, handling was difficult for both sides and even the introduction from the bench of Ali Lauitiiti, so devastating in the last couple of weeks, could not immediately ignite Leeds.
They did regain the lead before half-time, however, Richard Mathers opening up play with a long pass and Willie Poching forming the link to allow Chev Walker to touch down with Sinfield this time unable to add the goal.
After 51 minutes London went ahead, Solomon Haumono going over from close range after his second-row partner, Lee Hopkins, had been stopped on the line.
Almost immediately, London squandered that advantage when Mark O'Halloran threw the ball away on the second tackle and Leeds scored at the end of their set through Rob Burrow.
Leeds made their decisive move 14 minutes from time when they forced Hopkins into touch and scored from the scrum, thanks to Sinfield's burst from the base and McGuire's close support.
Mark Calderwood's long pursuit of a kick kept the pressure on by forcing a drop-out, and Keith Senior went over for his 100th try for the club.
London finished with 12 men with Tyrone Smith sin-binned for a late challenge and Marcus Bai rounded it off for the Rhinos.
Leeds: Mathers, Calderwood, Walker, Senior, Bai, McGuire, Burrow, Bailey, Dunemann, Jones-Buchanan, Ellis, McKenna, Sinfield. Substitutes used: Lauitiiti, Poching, McDermott, Scruton.
London: Luisi, Wells, Sykes, Smith, Bradley-Qalilawa, Dorn, Leuluai, Tindall, Highton, Stephenson, Purdham, Hopkins, Mbu. Substitutes used: Haumono, Williams, Tookey, O'Halloran.
Referee: S Ganson (St Helens).