Jonny May looked to have got the home side off to the best possible start as he crossed the line with seven minutes played, but referee Craig Joubert did not award the try after the video replay showed that Connor Murray forced the ball from his hands before he grounded it.
© Getty Images
England did take the lead, however, with Owen Farrell kicking over after the referee awarded a penalty to the hosts, making no mistake from 50m out.
Farrell had the chance to extend England's advantage from another penalty, but this time his kick was wide from a tough angle on the left-hand side, leaving the contest delicately poised going into the interval.
A fine start to the second half saw Ireland take the lead, courtesy of a Rob Kearney try. Jamie Heaslip spotted Kearney, who charged under the posts for the opening try, leaving Jonny Sexton to kick over for the extras.
© Getty Images
The visitors were on course for three wins from three when Sexton kicked over once more, this time following a penalisation on Courtney Lawes, who was adjudged to have shoved an opposition player.
The game then swung in England's favour. First Farrell reduced the deficit to four points with a penalty just short of the hour mark, and then Mike Brown broke from a lineout to set Danny Care on his way to sprint under the posts to give the home side their first try.
Farrell's conversion ensured that England held a three-point lead with just over 20 minutes remaining, but Ireland failed to break through, ending hopes of a second Grand Slam in five years.