London Irish (6) 9
Pens: Hewat 2, Lalanne
Harlequins (6) 14
Tries: Jones Pens: Evans 3
Jordan Turner-Hall of Harlequins takes on the London Irish defence
Ceri Jones grabbed the match-winning try as Harlequins denied 14-man London Irish the chance to go top of the Guinness Premiership at the Madejski.
The hosts were a man down for over an hour after David Paice was sent off for fighting, but they did at least grab a potentially crucial bonus point.
Peter Hewat and Nick Evans exchanged two early penalties each, before Alfredo Lalanne's kick put Irish ahead.
But Jones was then mauled over the try line and a late Evans kick sealed it.
That late Evans penalty put paid to a late rally from London Irish, but it was all a bit too little, too late from the hosts, for whom Mike Catt had an off day with the boot.
It had looked quite good for the Exiles before Paice's dismissal, although when Lalanne took over the kicking duties to put Irish in front just after half-time, the 12,000-strong crowd began to think the hosts could make light of their numerical disadvantage and force a win.
However, when the Quins capped a five-minute spell inside the hosts' 22 with Jones's try, it was down to some desperate defending to keep the visitors from extending their lead.
And even a late rally could not keep Irish in the game as Harlequins sealed a first win at the Madejski Stadium in six years.
London Irish head coach Toby Booth:
"I've no idea how (the sending-off) came along and I'm quite surprised that after a fight ensues there's only one perpetrator.
"Something appears to have been said and the ref has taken offence at that. Until I speak to the ref and the player I won't know, but playing with 14 men is not my idea of fun.
"As a coach you want a fairly-reffed match between two sides of 15 each and injury-free on both sides - then it's a true test.
"It's a collision sport - you get some good days and others bad, but you can bet your bottom dollar that sometimes it all comes at once - as it did today."
Harlequins director of rugby Dean Richards:
"On the whole I was very pleased. The sending-off was obviously very important, but we controlled the game. They put the ball in the corner in the last 30 seconds and we held out.
"We had plenty of opportunities, but when you play against 14 men they try harder and sometimes it goes against you.
"We have Gloucester next week, they will have their French and Scottish internationals back, while we will not have our England boys, so it will be hard - but there are no easy games in this league."
London Irish: Hewat, Ojo, Seveali'i, Mapusua, Thompstone, Catt, Lalanne, Dermody, Paice, Lea'aetoa, Johnson, Hudson, Thorpe, S. Armitage, Hala'ufia, Bailey.
Replacements: Bailey for Hewat (34), Corbisiero for Lea'aetoa (57), Buckland for Johnson (24), Fisher for Thorpe (76), Gower for Bailey (76).
Not Used: Garvey, Fury.
Sent Off: Paice (22).
Harlequins: Brown, T. Williams, Tiesi, Turner-Hall, Monye, N. Evans, Gomarsall, Jones, Botha, Lambert, Kohn, Robson, Robshaw, Skinner, Guest.
Replacements: Strettle for T. Williams (60), Bracken for Lambert (63).
Not Used: Brooker, J. Evans, Mcmillan, Poluleuligaga, Luveniyali.
Ref: Tim Wigglesworth (RFU).