England gave themselves a confidence boost a fortnight before the World Cup as they condemned Ireland to a fourth straight warm-up defeat.
An early Manu Tuilagi try and two Jonny Wilkinson penalties saw England lead 13-9 at half-time, Ronan O'Gara landing three kicks in reply.
With Chris Ashton in the sin-bin, England stretched their lead with a Delon Armitage try.
That proved the final score as heavy rain made conditions tricky.
Five months after their humbling 24-8 defeat attempting a Six Nations Grand Slam in Dublin, England will take heart from their first victory in the Irish capital since 2003 and the new centre partnership of Tuilagi and captain Mike Tindall.
But the casualty rate of the warm-up programme escalated further, with both sides suffering more injuries days before departing for New Zealand.
Ireland saw David Wallace stretchered off and Jamie Heaslip also depart in the first half, while Hendre Fourie and Mark Cueto only lasted the opening quarter for England.
Fourie - not in the 30-man World Cup squad - had only been drafted in as a late replacement after Nick Easter joined fellow back-rows Tom Wood and Lewis Moody on the sidelines, with James Haskell starting at number eight.
Fourie was heavily involved in England's opening salvo before two minutes of pressure came to nothing when Wilkinson's right-footed drop-goal from long range drifted wide.
But the visitors didn't have long to wait to get on the scoreboard. After a powerful scrum and pick-up from Haskell, England moved the ball left and a simple pass from Tindall sent Tuilagi arcing round an out-of-position Keith Earls to score his second try in as many Tests, Wilkinson converting.
Ireland replied when Geordan Murphy fielded an aimless kick from Wilkinson and was blatantly impeded by Courtney Lawes as he tried to run it back, O'Gara landing the penalty.
But England's scrum power was evident as they pushed the Irish back on their own ball, giving Wilkinson the opportunity to make it 10-3.
Ireland refused several more kicks at goal, Eoin Reddan taking a quick tap penalty close to the England line, only to see Cueto intercept his scoring pass with two men outside him.
Tuilagi's impact on the game continued to be felt, particularly by Wallace.
The Ireland flanker carried the ball through Tuilagi's initial tackle but did not survive a second encounter with the Anglo-Samoan, being stretchered off with a knee injury as O'Gara was landing his second penalty for the high tackle.
England also lost Fourie - replaced by lock Tom Palmer with Lawes moving into the back row - and Cueto, with Armitage replacing the latter.
A marginal high tackle by Stephen Ferris on Lawes saw Wilkinson make it 13-6 in the 27th minute, and England should have extended their lead on the half-hour.
Tuilagi picked up a loose Ireland line-out in his own half and galloped 60m before Murphy collared him, but England butchered a clear overlap with poor passes from Wilkinson and Lawes, Ashton and Ben Foden bawling their frustration.
Referee Nigel Owens lectured England captain Tindall as the penalty count rose, then warned Tom Croft after a skirmish with Cian Healy on the floor.
Ireland finished the half in the ascendancy but the visitors kept out a wave of attacks to preserve their lead.
They immediately lost Ashton to the sin-bin on the resumption, but O'Gara's penalty came back off an upright.
Instead England stretched their lead while down to 14 men as Tindall's beautifully-weighted grubber kick was gathered by Armitage to touch down, Wilkinson's conversion pushing them out to 20-9.
But it was a mixed outing for the celebrated fly-half, who over-cooked a penalty kicked to the corner and saw another pass go to ground.
As the heavens opened on the hour, neither side was able to sustain any momentum in the final quarter, despite Paul O'Connell's promptings for Ireland.
The hosts depart for the World Cup on the back of four straight defeats, England buoyed by victory two weeks before they take on Argentina.
Ireland: Murphy, Bowe, Earls, D'Arcy, Trimble, O'Gara, Reddan; Healy, Flannery, Ross, O'Callaghan, O'Connell, Ferris, Wallace, Heaslip. Replacements: Best (for Flannery, 50), Court (for Healy, 70), Ryan (for Heaslip, 35), Leamy (for Wallace, 22), Murray (for Reddan, 62), Sexton (for O'Gara, 62), McFadden (for Trimble, 71).
England: Foden, Ashton, Tuilagi, Tindall, Cueto, Wilkinson, Wigglesworth; Sheridan, Thompson, Cole, Deacon, Lawes, Croft, Fourie, Haskell. Replacements: Hartley (for Thompson, 52), Stevens (for Sheridan, 55), Shaw (for Deacon, 62), Palmer (for Fourie, 21), Flood (for Tindall, 75), Armitage (for Cueto, 21). Not used: Simpson.
Yellow card: Chris Ashton (41)
Referee: Nigel Owens (Wales)