Middlesex 577 (Eskinazi 157, Franklin 99, Roland-Jones 79*, Brooks 5-137) beat Yorkshire 406 (Ballance 132) and 167 (Bresnan 39, Roland-Jones 3-34, Murtagh 3-44) by an innings and four runs
Middlesex gained a sensational win by an innings and four runs at Scarborough to jolt Yorkshire's ambitions of a hat-trick of Championship titles.
A match seemingly destined for a draw was reawakened by a torrent of runs from Toby Roland-Jones and Tim Murtagh in the first 40 minutes of play, which secured an unexpected first innings lead of 171 at Scarborough.
It was Yorkshire's first defeat of the season and a stunning victory for Middlesex which pushed them to the top of the Division One table.
Yorkshire have lost only three Championship matches since the start of the 2014 season - and remarkably Middlesex have been their destroyers on each occasion.
This was also the only time that Yorkshire have lost by an innings in a Championship match at North Marine Road.
Yorkshire began their quest to save the match at 11.50am and in the end Middlesex were comfortable winners, the last wicket going down at 167 with 15 overs remaining.
A magnificent effort in the field by Middlesex resulted in three wickets apiece for the unstoppable Roland-Jones and Murtagh and two each for Steven Finn and Ollie Rayner.
Adam Lyth and Alex Lees began convincingly with a 41 stand in 12 overs but when Lyth was turned round by Roland-Jones' first ball and edged a catch to James Franklin at third slip, Yorkshire were on the slippery road to defeat with wickets going down at regular intervals.
The chief resistance came from Tim Bresnan but when he was skittled by a low one from Murtagh for 39, Yorkshire were 144 for 7 and fading fast.
Rarely in circumstances that have not been contrived can more runs have gushed from the first 40 minutes of a day's play than Middlesex managed after resuming on 470 for eight with a lead of 64.
The plan had been to score as many as possible as quickly as possible but the visiting dressing room could never have envisaged that Roland-Jones and Murtagh would thrash 107 in 9.4 overs.
It all became possible nine runs into the day when Roland-Jones, on 18, hooked at Jack Brooks and was dropped by Steven Patterson at fine leg.
The first five overs brought 41 runs and when off-spinner, Azeem Rafiq, replaced Bresnan, his first over went for 20 with two sixes to Murtagh and one to Roland-Jones.
Warming to his task, Roland-Jones slammed Brooks for three consecutive leg-side sixes and at one stage 50 runs came off 13 balls in 10 minutes with six sixes raining down off seven balls.
The century stand for the ninth wicket - the only one ever recorded by a visiting team on the ground - used up just 67 deliveries and there were eight sixes in the first half hour's play when 94 were scored.
In desperation, skipper Andrew Gale turned to Lyth's off-spin and he immediately brought the carnage to a close with two wickets in two balls. He took a low return catch to dismiss Murtagh for 47 from 38 deliveries with four fours and two sixes and had Finn giving a simple catch to cover.
The ninth wicket stand was worth 123 in 13.2 overs and Roland-Jones was left unbeaten on 79 off 51 balls with six fours and six sixes.
Middlesex's 577 was their highest against Yorkshire, beating their 573 for 8 declared at Lord's last September when Roland-Jones plundered his maiden century.
Roland-Jones said: "This was a hell of a win. We had it in our minds to make it tough for Yorkshire but to win by an innings was pretty exceptional.
"A little bit of luck went our way with the bat and we rode this luck and made the most of the small boundaries. We thought we would be positive and we got a bit of a flow early on.
"I think we knew it would be a tough fight and that we would have to stick at it but we found a wicket at the right time to break the partnerships.
"It is a big achievement going up to Yorkshire and winning and I am delighted we have done it. A couple of wins has put us right in the hunt for the title and I hope we still have something to play for in the last game of the season against Yorkshire at Lord's."
Yorkshire coach, Jason Gillespie, said: "Obviously we are disappointed to lose. We played a decent game for the first three days but there was a massive momentum shift this morning.
"On reflection, we are all agreed that we didn't adapt quickly enough to the situation and they got away from us. "There were no devils in the pitch and we just didn't score enough runs. Middlesex outplayed us and we have no excuses, they deserved to win."
Yorkshire vs Middlesex
Specsavers County Championship Division One
England Domestic Season