Nottinghamshire led by 446 runs at the close of play on Sunday when they declared their second innings on 329 for five before Jake Ball dismissed openers Adam Lyth and Harry Brook to leave Yorkshire on 24 for two.
But Root and Ballance batted throughout the rest of the day to defy the hosts at Trent Bridge with a brilliant match-saving partnership that lifted Yorkshire to 277 for two.
England skipper Root recovered from being hit on the helmet by Stuart Broad on his first ball to reach 130 not out at the close, while Ballance was undefeated on 101.
A last-wicket stand of 62 between George Bartlett and Jack Brooks turned the game and set up Somerse for a 74-run win over Kent at Taunton.
Somerset, who resumed their second innings on 171 for seven, slipped to 181 for nine, just 143 ahead, as Mitch Claydon (four for 66) completed match figures of nine for 112.
But 21-year-old Bartlett (63) and Championship debutant Brooks (35 not out) took the total to 243 all out to leave Kent chasing a tricky target of 206.
It proved beyond them as they were bowled out for 131, with Lewis Gregory ending with figures of five for 18.
— Somerset Cricket 🏏 (@SomersetCCC) April 8, 2019
South African paceman Kyle Abbott ripped through the Essex tail, taking five for 77, as Hampshire won by an innings and 87 runs at the Ageas Bowl.
Ravi Bopara had given Essex faint hope of pulling off an unlikely draw with a century but once he fell the visitors tumbled to a heavy defeat.
In Division Two, Dawid Malan struck a fine unbeaten century to guide Middlesex to a draw against Northamptonshire.
Malan's 160 not out, his second-highest first-class score, steered Middlesex to 317 for four and a lead of 143 before the visitors declared. They then hurried through seven overs in 15 minutes to recover a negative over rate.
Malan had Max Holden for steady company, with the pair ensuring Middlesex left Wantage Road with nine points. The latter survived a number of deliveries going past his outside edge to reach 50 in 126 balls.
Leicestershire made a winning start to their campaign with a seven-wicket victory over Sussex at Hove.
Half-centuries from captain Paul Horton and Championship debutant Hasan Azad set up the win.
Resuming in a good position on 99 for one, Horton and Azad took few risks against some accurate bowling, particularly from Ollie Robinson as they extended their second-wicket stand to 88 from 31 overs.
Australian Mark Cosgrove then saw his side over the line with an unbeaten 53 as Leicestershire sealed victory 50 minutes after lunch.
Matt Critchley and Logan Van Beek led Derbyshire to a 125-run victory after Durham looked set to save the match at Derby.
Alex Lees and Gareth Harte scored half centuries but Durham, set an improbable 361 to win the game, collapsed from 177 for four to 235 all out.
Critchley took three for 54, including two wickets in two balls, while Van Beek followed a stunning catch to remove Jack Burnham by bowling Harte for 69 and then removing Stuart Poynter in his next over.
Ravi Rampaul also took two wickets, and there were just over 18 overs remaining when Luis Reece clinched a 19-point victory.