Two O'Gara penalties had Ireland 11-8 up and England down to 14 with Simon Shaw in the bin before Andy Goode - having missed two in a row - landed a penalty to leave the home side trailing by 3 points (11-8) at the break.
O'Gara and Goode swapped penalties but it was Egland who enjoyed the better of the exchanges in the second half. After Paul O'Connell had eased the pressure with a superb five metre line-out steal, the English pressure told with a try from Steve Borthwick converted by Goode
Ireland enjoyed another slice of luck ahead of Horgan's second try. Ben Cohen took a quick throw to himself deep inside his own 22 but was whistled back having been adjudged to have taken the throw on the infield but tv monitors showed clearly that he had not. The English opted to throw long, the throw was crooked and Denis Leamy snaffled it to get the touch down.
O'Gara converted for a 21-18 lead, Goode levelled and then added a long range kick with six minutes of normal time remaining. It seemed it would end that way until O'Gara's little chip ahead, collected by Brian O'Driscoll took play into the English 22 and Horgan scored the all-important try with O'Gara landing the conversion for good measure.
From a Munster point of view, just a fortnight ahead of the Heineken Cup quarter final, there was the worrying sight of Leamy hobbling off the field in the 70th minute appearing to have damaged an ankle in a tackle.
Ireland: G Murphy; S Horgan, B O'Driscoll (capt), G D'Arcy, A Trimble (G Dempsey); R O'Gara, P Stringer; M Horan, J Flannery, J Hayes; P O'Connell, M O'Kelly; S Easterby, D Wallace (O'Connor temp 16 min), D Leamy (J O'Connor).
England: T Voyce; M Cueto, J Noon, S Abbott, B Cohen; A Goode, H Ellis; A Sheridan, L Mears, J White; S Borthwick, S Shaw; J Worsley, L Moody, M Corry (capt).