Sohail Khan marked his return to Test cricket after a five-year absence with a maiden five-wicket haul as Pakistan dismissed England for 297 on the first day of the third Test at Edgbaston.
Sohail, a 32-year-old right-arm quick, removed a quartet of top-order batsmen on his way to figures of five for 96 in 23 overs.
A stress fracture of the back after last year's World Cup provided a further check on his progress.
Nevertheless, Sohail was recalled in place of Wahab Riaz as Pakistan broke up the all left-arm pace attack they had deployed for the first two Tests of this four-match contest following England's 330-run series-levelling win at Old Trafford.
Sohail took the new ball after Pakistan captain Misbah-ul-Haq won the toss on a gloomy morning, with some moisture in the pitch after overnight rain.
Alex Hales fell for an unconvincing 17 when caught behind off a good-length Sohail ball.
Misbah had described the pair as the "pillars" of England's otherwise fragile top order.
Pakistan knocked down the first of those pillars when Root, playing one of his favourite back-foot forcing shots, edged Sohail and was held by sometimes fallible slip fielder Mohammad Hafeez for just three.
Sohail had taken two wickets for eight runs in nine balls and England were 48 for two.
Left-handed opener Cook, carrying on from where he left off in Manchester, made 45 in 52 balls, including eight fours before Rahat Ali had him lbw.
Cook reviewed, more in hope than expectation, but was duly given out to leave England 75 for three.
James Vince guided England to 100 for three at lunch.
But on 39, an uncertain defensive prod outside off stump against Sohail saw Vince, yet to make a fifty in his eight Test innings, edge low to second slip Younis Khan.
Jonny Bairstow has rescued England from many a dire position in recent times.
But he made just 12 before, trying to cut a sharply bouncing Sohail delivery, he was caught behind by opposing wicket-keeper Sarfraz Ahmed.
Sohail had taken two for six in 10 balls, with England now 158 for five.
Ballance, increasingly assured after a shaky start, hit 11 fours.
But his 150-ball innings ended when a glance off leg-spinner Yasir Shah was well held by Ahmed, who made good ground to hold the tough chance in an example of Pakistan's much-improved catching.
Ballance's exit ended a sixth-wicket stand of 66 with Ali.
Chris Woakes, on his Warwickshire home ground, was then caught behind for nine off an excellent Rahat inswinger.
Mohammad Amir, who appeared to be nursing a calf problem, then struck twice with the new ball, including removing Ali when the batsman's loose drive saw Ahmed hold his fifth catch of the innings.
Sohail, appropriately, ended the day's play when he had No. 11 James Anderson lbw for five.
The paceman kissed the ground in joy before Anderson reviewed to no avail.