Ireland's hopes of retaining their Guinness Six Nations crown suffered a major setback as England outplayed the champions at the Aviva Stadium.
Coming off the back of the most successful year in the Irish rugby history, Joe Schmidt's charges were second best throughout, only leading for five minutes in the entire game.
The visitors had arrived a team under some pressure, seemingly unsettled having won just six of 12 games in 2018.
But from the off Eddie Jones' side were out to prove a point and first-half tries from Jonny May and Elliot Daly were just rewards for their supremacy, with Cian Healy's pushover try only stemming the tide.
A double from Henry Slade after the break, where a solitary Johnny Sexton penalty and a late John Cooney try was all Ireland could offer in response, sealed England's first win over Ireland in Dublin since 2013 and ended Schmidt's unbeaten recorded at home in the Six Nations.
Hurt by a comprehensive defeat in Twickenham last March, England burst out of the blocks.
England had gone through the phases sucking Irish defenders in each time but it appeared to be a misread by Keith Earls that resulted in an overlap.
That allowed May a corridor of space to score the opening try, which Farrell converted from the sideline for a 7-0 lead after four minutes.
Sexton reduced the margin to four when he landed his first kick of the day, a straightforward penalty after Kyle Sinckler failed to roll away.
England flanker Tom Corry was then binned for a late challenge on Earls, with lock Maro Itoje lucky not to follow his team-mate after running into the Munster wing off the ball.
"Make sure that you take the man with the ball," referee Jerome Garces warned the Saracens forward, though it sounded like an order.
It was plays like that which allowed the hosts take control, by the the time Healy barreled over for Ireland's first try in the 25th minute the penalty count was 5-0 against England.
Much had been made of Schmidt's decision to drop a "rusty" Rob Kearney in favour of Robbie Henshaw and England's second try came after a poor clearance from the erstwhile centre.
That provided the field position for Daly to grubber through and, under pressure from Jack Nowell, Jacob Stockdale fumbled the ball allowing the full-back to dot down. Farrell again added the conversion.
Another unforced error almost led to England's third try just before the break. This time prop Mako Vunipola was adjudged to have made a double movement on the line but Farrell knocked over another penalty to make it 17-10.
Champions in 2016 and 2017, England were playing on the edge but it was paying off.
England started the second half on the front foot and Henshaw did well to tidy up a dangerous looking kick through from Farrell with May waiting for a spill.
Prior to that, Sexton snarled at Jordan Larmour, a half-time replacement for Earls, when the youngster failed to read a dink through. The visitors were playing smarter rugby, the Irish lineout was rattled and the Grand Slam champions looked dazed.
Then, from nothing, Ireland, defending deep, got a break.
Ringrose forced a knock on and Sexton booted it 50 yards, Henry Slade knocked it on and Ireland had a scrum on the 22.
George Kruis and Itoje, two of the best on show to that point, departed and Sexton tapped over a penalty.
Captain Farrell then missed a chance to reply, missing a relatively easy kick after Sexton was penalised for hands in the ruck.
Much was made of how much Murray's kicking would affect the game but in that department England's back three met the challenge, Ireland's chasers all too often a yard off the pace.
After a TMO consultation England had their third, Slade winning a foot-race after May's well-judged kick through and the Sweet Chariot rang out in the freezing Dublin air.
Ireland began to force plays in a desperate attempt to cling on to their grand slam ambitions but England were not to be denied, Farrell putting 12 between the teams with a long-range penalty with 10 minutes to play.
The game was over and the Aviva began to empty, the revellers missing another Slade try and a late late Cooney consolation, if it could even be called that.
Ireland: Robbie Henshaw; Keith Earls, Garry Ringrose, Bundee Aki, Jacob Stockdale; Johnny Sexton, Conor Murray; Cian Healy, Rory Best (capt), Tadhg Furlong; Devin Toner, James Ryan; Peter O'Mahony, Josh van der Flier, CJ Stander.
Replacements: Sean Cronin, Dave Kilcoyne, Andrew Porter, Quinn Roux, Sean O'Brien, John Cooney, Joey Carbery, Jordan Larmour.
England: Elliott Daly, Jonny May, Henry Slade, Manu Tuilagi, Jack Nowell, Owen Farrell (capt), Ben Youngs, Billy Vunipola, Tom Curry, Mark wilson, George Kruis, Mato Itoje, Kyle Sinckler, Jamie George, Mako Vunipola.
Replacements: Luke Cowan-Dickie, Ellis Genge, Harry Williams, Courtney Lawes, Nathan Hughes, Dan Robson, George Ford, Chris Ashton.