Two tries from scrum-half Danny Care and 20 points from the boot of fly-half Ben Botica helped Harlequins to a tight Heineken Cup victory at Connacht.
The Premiership champions were 19-9 down following a converted try from centre Dave McSharry and four penalties from Dan Parks before Care struck.
He first craftily found a gap in the hosts' defence from a scrum before diving over following a 10m line-out.
Two Botica penalties then kept Quins in the lead in a close-fought second half.
The result kept the London side top of Pool Three after their opening win over Biarritz and gave them some revenge for their defeat last January, which prevented them reaching the knockout stages of the competition.
Both teams scored freely in an opening period full of attacking intent, as McSharry went in under the posts for the home team at the Sportsground before Care replied with two well taken close-range efforts of his own.
While the opening 40 minutes was full of enterprising rugby, the second period turned into a nervy battle between goalkickers Parks and Botica.
A sure-footed 50-yard strike from the New Zealander, who has impressed in place of injured first choice number 10 Nick Evans, was the highlight as Quins held on to take a four-point lead at the top of their pool after two games.
View from the dressing room:
Harlequins boss Conor O'Shea: "We are very comfortable to have nine points [after our first two pool matches]. To have denied both Biarritz and Connacht a losing bonus point is a huge thing.
"We have put ourselves in a very good position, but if we mess around and don't come with our 'game heads' on, any team can do a job and we want to do a job in six or eight weeks' time [against Zebre].
"Do you come here and have an easy ride? I have been coming here all my life and you don't.
"When a team base a lot of their season around one match, you see the build-up around it, you feel the crowd and you give them that bit of energy by getting your defensive line wrong in the first try - well, you are going to be in a game."
Connacht: Robbie Henshaw; Tiernan O'Halloran, Eoin Griffin, Dave McSharry, Fetu'u Vainikolo; Dan Parks, Kieran Marmion; Denis Buckley, Adrian Flavin, Nathan White (capt); Michael Swift, Mike McCarthy; John Muldoon, Willie Faloon, George Naoupu.
Replacements: Mata Fifita for Griffin (65), Brett Wilkinson for Buckley (64), Jason Harris-Wright for Flavin (64), Ronan Loughney for White (68), Eoin McKeon for Swift (64), Miah Nikora for McCarthy (76), Johnny O'Connor for Faloon (57).
Not Used: Dave Moore.
Harlequins: Mike Brown; Tom Williams, Matt Hopper, Jordan Turner-Hall, Sam Smith; Ben Botica, Danny Care; Joe Marler, Rob Buchanan, James Johnston; Olly Kohn, George Robson; Maurie Fa'asavalu, Chris Robshaw (capt), Nick Easter.
Replacements: Charlie Matthews for Kohn (73), Tom Guest for Fa'asavalu (67).
Not used: Dave Ward, Mark Lambert, Will Collier, Karl Dickson, Rory Clegg, Seb Stegmann.
Referee: Jerome Garces (France).