Kevin Pietersen's 104 was the centerpiece of England's 347 for six at stumps on the first day of the third Test against Pakistan at Headingley on Friday.
But fast bowler Umar Gul helped Pakistan, 1-0 down in the four-match series, fight back late on by taking two wickets with the new ball.
He had recalled wicket-keeper Chris Read (38) lbw before bowling nightwatchman Matthew Hoggard for nought with a full-length delivery.
In all Gul took four for 73 from 18.4 overs.
Ian Bell, who scored centuries in the first two Tests, was 66 not out.
Earlier South Africa-born Pietersen had been seemingly dismissed on two, caught off a no-ball on 29 and dropped on 104, recalled seamer Shahid Nazir the unlucky bowler on each occasion.
Read fell shortly before stumps having equalled his Test-best score and put on 86 with Bell.
By tea Pietersen, who'd gone six innings without fifty, was 82 not out and he then completed his fifth hundred in his 17th Test.
Successive fours off pace bowler Mohammad Sami took Pietersen to 99.
But he then had several minutes of treatment for cramp in his left forearm.
However, a pull down to fine leg off Sami took him to a 123-ball hundred in just over three hours with two sixes and 15 fours.
It was the 26-year-old's second century against Pakistan after he'd made exactly 100 at Faisalabad in November. And it was also England's seventh hundred in three Tests, with Marcus Trescothick the only member of their top six yet to reach three figures this series.
Then, on 104, Pietersen slapped Nazir to mid-wicket where Salman Butt dropped the catch.
Pietersen, who subsequently had acupuncture, then exited with England 259 for four.
"I thought it was best to come off because I couldn't bat," he said.
"My arm would just freeze. It wasn't fun and it's never happened before," the Hampshire batsman added before admitting he'd been the beneficiary of some close calls.
"You take the rough with the smooth," said Pietersen, who when asked why he didn't "walk" on two, replied: "I wasn't 100 percent sure I had nicked it. I'm not out there to give decisions."
And he insisted he would be fit to resume on the second day. "I'm facing first ball tomorrow [Saturday] morning unless something drastic happens to me this evening."
Pietersen's temporary departure brought Read, replacing the dropped Geraint Jones because of the latter's lack of runs, in for his first Test innings in two years since playing against the West Indies in Barbados.
Read, who last month scored an unbeaten 150 for England A against Pakistan, found his touch after getting off the mark with an inside edge.
The stylish Bell then completed a 101-ball fifty with five fours.
Pakistan, with 10 overs left in the day, took the new ball with England 328 for four and fast bowler Gul made it count.
Pietersen, together with Paul Collingwood (31), had shared a stand of 82 as England recovered after lunch.
Pakistan, beaten inside three days during an innings and 120-run defeat in the second Test at Old Trafford, fought back to have England 110 for three at the interval.
"We did bowl well in the first two sessions but we were unlucky not to get more wickets," said the hard-working Gul.
"This is a very soft pitch, not like the one we had at Old Trafford, but we will still try to get them out for under 400," he said.