Edinburgh produced a superb second-half performance to overhaul a nine-point deficit and claim an away victory over London Irish in the Heineken Cup.
The Scots slipped 19-10 adrift when Irish full-back Tom Homer landed his fourth penalty in the 46th minute.
But the visitors' number eight Stuart McInally raced in after quick hands from Nick de Luca to close the gap.
Greig Laidlaw struck the decisive penalty with 11 minutes left after Shontayne Hape was shown yellow.
Hape was sin-binned after appearing to retaliate to a forearm from Edinburgh substitute Sean Cox.
Down to 14 men and without the England centre, who had been one of their most impressive performers in the first half, the Exiles could not regain the lead in the closing stages.
A late penalty from Homer strayed narrowly wide of the uprights before a long passage of possession ended with number eight Jebb Sinclair spilling the ball forward to put an end to the hosts' hopes.
The result leaves London Irish with a tough assignment to escape Pool 2 which also contains Cardiff Blues and Racing Metro.
Homer's boot had seemed likely to be the difference between the two sides until Edinburgh rallied in the final quarter of the match.
The 21-year-old slotted twice in the opening 10 minutes, and although the Exiles were pegged back when Lee Jones crossed for the visitors, scrum-half Ross Samson's try ensured a healthy half-time advantage for the home side.
But Irish failed to press on and duly paid the price when De Luca's deft offload put in McInally and moved Edinburgh within striking distance.
The Scots looked to have taken the lead when Visser powered over the line.
The video official adjudged that the winger had knocked on as he attempted to ground the ball, but Irish's reprieve was only temporary.
The touch judge spotted Hape's clash with Cox earlier in the move and Laidlaw slotted the last points of the match from the subsequent penalty.
London Irish: Homer, Ansbro, Shingler, Hape, Thompstone, Bowden, Samson, Corbisiero, Buckland, Ion, Kennedy, Garvey, Evans, Gibson, Sinclair. Replacements: Hodgson for Samson (67), Lahiff for Corbisiero (54), Blaney for Buckland (70), Rautenbach for Ion (54), Sandford for Garvey (61), Thorpe for Gibson (61). Not Used: Jarvis, Spratt.
Sin Bin: Hape (69).
Edinburgh: Thompson, Jones, De Luca, Scott, Visser, Leonard, M. Blair, Jacobsen, Ford, Cross, Lozada, Gilchrist, Denton, Rennie, McInally. Replacements: Laidlaw for M. Blair (47), Cox for Denton (28), Grant for Rennie (47). Not Used: Lawrie, Traynor, Niven, King, T. Brown.
Ref: Romain Poite (France).