Cardiff Blues are well placed to top Heineken Cup Pool Two after grinding out a vital win away to London Irish.
The hosts led 9-6 at the break after three penalties from Adrian Jarvis to two from Leigh Halfpenny.
A converted try from Sam Warburton put the Blues in front, only for Irish to cut the gap to one point through the boot of Delon Armitage.
But three more Halfpenny penalties saw the visitors home, despite Jarvis landing his fourth penalty for Irish.
Blues host Parisian side Racing Metro in the final round of games while the Exiles, whose European campaign is now over, travel to Edinburgh, who are level on 17 points with the Welsh outfit.
If Blues and Edinburgh finish level on points after the final round of games, the Blues would claim top spot with a superior points total from the two games between the sides.
Jarvis cancelled out Halfpenny's penalty in a cagey opening at the Madjeski Stadium, and the half did not improve.
It was the best part of half an hour before the next points arrived as both sides struggled to create anything of note.
A couple of carries by Exiles wing Topsy Ojo finally injected a bit of pace into the game and two more Jarvis penalties put the hosts 9-3 in front just before the break.
But Halfpenny, who had missed an earlier attempt, landed his second penalty with the last kick of a distinctly average first half.
With their Heienken Cup hopes threatening to go up in smoke the visitors came out in a more positive mood after the break and soon went in front after a piece of individual magic from Casey Laulala.
The Kiwi centre stepped his way through a gap and then shrugged off Armitage's attempted tackle before popping the ball up for the supporting Warburton to dive over for a converted try.
But London Irish then seized control in the scrum and their new-found dominance in that phase of the game earned Armitage the chance to bang over a long-range penalty.
Any hopes the Exiles had of ramming home their advantage up front disappeared as replacement prop Alex Corbisiero struggled on his arrival and when he was penalised at a scrum, Halfpenny gave the visitors a four-point lead.
But in a disjointed game the Blues soon infringed at a ruck and Jarvis again cut the gap to a point.
The hosts managed a late flurry but two more Halfpenny penalties ensured Blues go into the final round of matches in pole position to clinch a quarter-final spot.
London Irish head coach Toby Booth:
"It was a tight, tight game and that has probably been the story of the Heineken Cup in this group.
"I am not disappointed with the effort, although I am obviously disappointed with the outcome.
"On reflection, we have been in every contest and have a new group of players with little Heineken Cup experience.
"They will be better for this experience, although that does not hide the disappointment of where we are now."
Cardiff Blues backs coach Gareth Baber:
"It's never easy against them.
"When we played them at home even though they were down to 14 men they pressurised us and created a game that tested us defensively.
"There were stages in the game today when they did exactly the same, but I thought we controlled the field when we needed to today.
"There was a bit of brilliance in the second half from Casey Laulala, which was finished off by Sam Warburton and you saw a good team performance in managing the game and getting the victory, not least down to Leigh Halfpenny and his kicking."
London Irish: D Armitage; Ojo, Spratt, Hape, Thompstone; Jarvis, Allinson; Dermody, Paice, Rautenbach, Kennedy, Garvey, Evans, Sisi, Gray.
Replacements: Shingler for Hape (72), Homer for Thompstone (72), Corbisiero for Dermody (58), Buckland for Paice (36), Ion for Rautenbach (50), Casey for Kennedy (76).
Not Used: Sandford, Hodgson.
Cardiff Blues: Halfpenny; Cuthbert, Laulala, Henson, Czekaj; Parks, L Williams; G Jenkins, T Thomas, Filise, B Davies, Tito, Paterson, Warburton, Rush.
Replacements: Mustoe for Czekaj (58), Rees for L Williams (58), Tyrell for T Thomas (63), Andrews for Filise (50), Molitika for Tito (72).
Not Used: Yapp, Navidi, Sweeney.
Sin Bin: B. Davies (79).
Ref: Neil Paterson (SRFU).