Gary Ballance became the first Yorkshire batsman to score five centuries in as many Specsavers County Championship matches as leaders Hampshire were given a scare.
Ballance was trapped leg before by Mason Crane on 100 before the home side declared on 332 for five on the final, rain-affected, day at Headingley.
That left Hampshire needing an unlikely 378, and their fortunes took a further turn for the worse when Oli Soames, Ajinkya Rahane and Sam Northeast departed with just 35 on the board, but they rallied to claim a draw after reaching 158 for five.
At Chelmsford, Simon Harmer ripped through the Kent batting line-up as Essex powered their way to a 113-run victory.
The South African all-rounder, who bowled for 33 overs unchanged, claimed eight for 98 to complete match figures of 11 for 170.
Essex had earlier declared the second innings on 206 for seven to leave the visitors chasing 337, but despite Daniel Bell-Drummond's stubborn 81, Harmer's heroics proved too much for them.
Jeetan Patel span Warwickshire to a first win of the season as Surrey fell 130 runs short at Edgbaston.
Patel took a career-best eight for 36 to give the visitors no chance of amassing the 272 they needed for victory on a day when Surrey off-spinner Gareth Batty also recorded his best return with a haul of eight for 64, which included a hat-trick, on a turning pitch.
In Division Two, Derbyshire's seamers needed less than a session to take the six wickets required to wrap up a 65-run win over Leicestershire at the Fischer County Ground.
Having resumed on 110 for four, the home side needed a further 124 to win, but after Luis Reece had removed Hasan Azad and Harry Dearden in quick succession, Ravi Rampaul took his cue as the pair finished with three wickets apiece in the innings.
Veteran Tim Murtagh plundered six for 51 to help Middlesex to a first victory of the season at Worcester.
The 37-year-old made short work of the Worcestershire batsmen as they fell 127 short of their target of 353 despite opener Daryl Mitchell and Ross Whiteley both passing 50.
Marnus Labuschagne helped himself to a career-best 182 to help Glamorgan ease to a draw with Sussex at Brighton.
Labuschagne's contribution provided the platform for a second innings total of 466 all out and a lead of 233, and the home side had reached 47 for one in 15 overs by the close.
Gloucestershire's Matt Taylor was another to set a new personal high with a return of five for 57 in a drawn match with Lancashire at Cheltenham.
After days two and three were washed out, the home side had reached 68 for two in their second innings when the two captains shook hands.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Press Association Sports Staff');
ga('pacontentapi.set', 'dimension2', '71e9054d-3d0c-488c-99dc-2bca984cdc7e');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:uk');
ga('pacontentapi.set', 'dimension6', 'story');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:cricket');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'Ballance sets batting milestone as Yorkshire draw with Hampshire'});