Gary Ballance produced a savage onslaught on the Middlesex bowling at Lord’s today but Yorkshire supporters will go into the final day of the Division One game unsure whether it will be enough to secure a win for Joe Root’s side.

The Yorkshire No 5 made 130 off 143 balls as the visitors were bowled out for 416.

That left Middlesex needing an improbable 472 to pull off one of the wins of the season.

The odds are still heavily in Yorkshire’s favour. All the same, when the Middlesex openers Chris Rogers and Sam Robson began their distant quest, few in the crowd thought that the scoreboard would read 230-1 at the close of play.

Rogers is unbeaten on 122 and Dawid Malan has made 28 not out. The one wicket to fall was that of Robson, who was caught by first slip Ballance off Jack Brooks for a fine 77, which can only enhance his chances of a Test debut this summer.

Ballance, too, will be pondering his England chances, albeit with rather more certainty, after making his second Division One hundred of the season and his fourth century in his last seven Championship innings.

Indeed, when Yorkshire’s No 5 pouched that vital catch to get rid of Robson, it must have seemed longer than a few hours since he had pummelled the Middlesex attack into submission.

Just ten not out overnight and having survived in the cloudy bowler-friendly conditions on Monday, Ballance had reached 62 at lunch today when Yorkshire were 333-7, giving them a very healthy lead of 388.

The loss of Liam Plunkett and Ryan Sidebottom early in the afternoon and the arrival of last man Jack Brooks gave Ballance a licence to attack which he seized with eagerness.

The Yorkshire batsman launched a pulverising assault on Middlesex’s bowlers, thrashing 56 runs off 21 balls in a last-wicket stand of 66 in just 5.4 overs – including five sixes and four boundaries – before he was caught at third man attempting to guide Tim Murtagh for a 16th four to add to his half-dozen sixes.