Tipperary 2-23 Dublin 0-16, Semple Stadium
Tipperary rarely had to get out of second gear as they coasted through to the All-Ireland Senior Hurling Championship semi-finals at Dublin's expense.
This much-anticipated Thurles clash, which petered out amid a heavy downpour, never caught fire and two second half goals from John O'Dwyer had Eamon O'Shea's men out of sight.
Free-taker Seamus Callanan maintained his free-scoring form with an 0-11 contribution, helping his side tee up a first ever Championship between Tipperary and Cork at Croke Park next month.
Tipp used the space afforded to them by a man-for-man Dublin defence to move 0-15 to 0-8 clear by the half-time whistle.
They had the wind behind them during a stuttering first half and Callanan was their scoring star with 0-6, while fellow free-taker Alan McCrabbe hit half of Dublin's scores.
Substitute Paul Ryan had an opportunity close the gap but his 48th minute penalty was blocked by Brendan Maher, and O'Dwyer's two majors - the first from a Callanan assist and the second saw him sweep home the rebound of a Patrick Maher shot with six minutes left - sealed Tipp's passage through to the last-four.
Dublin goalkeeper Alan Nolan and McCrabbe both got early touches at Semple Stadium, setting up Danny Sutcliffe for the opening point before Lar Corbett launched over a rousing equaliser from the right wing.
A strong wind helped John O'Dwyer (free) and Corbett, with another terrific effort from the opposite flank, move Tipp 0-3 to 0-1 ahead, but McCrabbe ended a five-minute scoreless spell for Dublin with a close-in free.
McCrabbe levelled at 0-3 apiece from much further out, before the Premier county edged two points clear thanks to precise shooting from James Woodlock and Callanan (free).
Some robust challenges from the likes of Liam Rushe and Conal Keaney saw the Dubs briefly increase the intensity, but a fine Ryan O'Dwyer point was cancelled out by Patrick Maher.
Callanan soon made it a double scores lead - 0-8 to 0-4 - with two on the bounce, including a crisply-hit '65', while the difference between the sides was summed up by an awful Stephen Hiney wide and a sumptuous score from wide out by Shane McGrath.
Tipp were really hitting their stride now and Patrick Maher had a 21st minute goal chance deflected wide by Peter Kelly. The subsequent '65' was slotted over by Callanan for 0-10 to 0-4.
Anthony Daly's charges showed their mettle though with a third pointed free from McCrabbe and captain Johnny McCaffrey was picked out by Sutcliffe for a neat score from the right.
Some listless passages, with Tipp able to break down Dublin attacks and clear the danger, were followed by a Callanan free - but the visitors remained in touch thanks to a point on the turn by David Treacy.
A couple of meaty blocks by Kelly and Ryan O'Dwyer saw the Dublin fans raise the decibel level, however the Leinster side's short-passing approach was not paying dividends and they looked laboured at times.
Costly turnovers often led to scores at the other end as Tipp built a seven-point advantage by the interval, with McCrabbe breaking up a run of points from Callanan, John O'Dwyer, Noel McGrath and Gearoid Ryan.
Ryan was also quick off the mark in the second period, but there was very little quality hurling on show and Dublin were heavily reliant on McCrabbe's placed balls.
The visitors' hopes suffered a sizeable dent when the injured Sutcliffe had to depart and McCrabbe hit a disappointing wide soon after at 0-16 to 0-9.
A brace of frees from Callanan increased Tipp's lead to nine points in the 46th minute, while Dublin substitute Paul Ryan notched his first point from a placed ball following McCrabbe's withdrawal.
Daly's side got a lifeline just moments later when O'Callaghan was fouled by Cathal Barrett for a penalty. However, Ryan's 20-metre shot was blocked by Brendan Maher and Keaney scrambled a point over from the rebound.
Statesque substitute Mark Schutte quickly set up Keaney for his second point in a row as Dublin finally gained some momentum.
Frustratingly for Daly and the watching supporters, the Dubs then lapsed in defence to allow Tipp break through for the game's first goal. Woodlock flicked the ball through to Callanan who passed to his right for the unmarked O'Dwyer to fire low past Nolan and into the net.
O'Callaghan and substitute Eamonn Dillon brought the deficit back to seven points - 1-18 to 0-14 - but it was effectively shooting practice thereafter with Dublin's goal threat never materialising.
Tipp net minder Darren Gleeson held firm under a dangerous high ball as O'Callaghan sniffed around for a flicked goal, with a heavy rain shower failing to slow down Tipp's march towards that Munster derby on August 17.
Gearoid Ryan and Paul Ryan swapped points before Callanan shrugged off his marker Kelly to make it 1-20 to 0-15. The margin was out to 11 points after O'Dwyer slammed home goal number two in typical poacher's style.
Points in the final minutes from Callanan (two frees) and substitute Shane Bourke closed out the Tipperary scoring, with Rushe landing the lone Dublin response late on.
TIPPERARY: Darren Gleeson; Paddy Stapleton, Paudie Maher, Cathal Barrett; Brendan Maher (capt), James Barry, Kieran Bergin; Shane McGrath (0-1), James Woodlock (0-1); Gearóid Ryan (0-3), Patrick Maher (0-1), John O'Dwyer (2-2, 0-1f); Noel McGrath (0-1), Seamus Callanan (0-11, 0-7f, 0-2 '65'), Lar Corbett (0-2).
Subs used: Denis Maher for Patrick Maher (51-53 mins, blood sub), D Maher for N McGrath (59), Eoin Kelly for Corbett (64), Shane Bourke (0-1) for Patrick Maher (68), Thomas Stapleton for Woodlock (70).
DUBLIN: Alan Nolan; Shane Durkin, Peter Kelly, Niall Corcoran; Stephen Hiney, Liam Rushe (0-1), Michael Carton; Conor McCormack, Johnny McCaffrey (capt) (0-1); Ryan O’Dwyer (0-1), Alan McCrabbe (0-5, 0-5f), Danny Sutcliffe (0-1); David Treacy (0-1), Conal Keaney (0-2), Colm Cronin.
Subs used: David O'Callaghan (0-1) for McCormack (25 mins), Joey Boland for Durkin (33-half-time, blood sub), Paul Ryan (0-2, 0-1f, 0-1 '65') for Cronin (half-time), Mark Schutte for Sutcliffe (41), Boland for McCrabbe (45), Eamonn Dillon (0-1) for Treacy (55).
Referee: Brian Gavin (Offaly)