Joe Root scored his maiden Test double century as England posted their highest total in three years in the first Test against Sri Lanka at Lord's.
Root struck 200 not out and Stuart Broad and Liam Plunkett added quick runs to carry England to 575-9 declared on the second day.
On a flat pitch, however, England's luckless bowlers could not drive home their advantage as Sri Lanka closed on 140-1.
Opener Kaushal Silva was 62 not out and Kumar Sangakkara, seeking to cap an illustrious career with a first Lord's Test century, was unbeaten on 32.
That England did not end the day in a position of even greater authority was due to a squandered chance and contentious decision.
Sri Lanka opener Dimuth Karunaratne was put down in the slips before Chris Jordan removed him with his third ball in Test cricket.
Late in the day, England were incensed by the television umpire's decision to give Silva the benefit of the doubt after he appeared to have been caught behind low by Matt Prior.
"I thought it carried," Prior told Sky Sports. "I felt the ball hit the hard bit of my finger. I've gone forward at the ball. We're disappointed."
Although the lack of wickets may frustrate new England coach Peter Moores, he will be delighted by the positive intent shown by Root and the lower order as they added 231 runs in 41 overs on Friday after resuming on 344-5.
Following their torpid batting displays during the 5-0 Ashes whitewash in Australia, when they were often rendered shotless by Australia's potent attack, England's innings run rate of 4.40 reflects a clear desire to take the attack to the opposition.
Root, who was dropped for the final Ashes Test in Sydney, picked up where he left off in making 102 on Thursday to become the first player to score 150 in successive Lord's innings - and, at 23 years and 165 days, England's youngest double centurion since David Gower in 1979.
Sri Lanka started the day brightly as their decision to pepper England with short balls delivered two early wickets.
Prior, 76 overnight, fended Shaminda Eranga to short leg for 86 and Jordan mistimed a flick to leg and popped up an easy catch to the wicketkeeper Prasanna Jayawardene for 19.
There was no let-up in the drama in a rollicking opening session as Broad and Plunkett spearheaded a counter-attack alongside the tireless Root.
Highest England totals v Sri Lanka
575-9 dec: Lord's, 2014
555-9 dec: Lord's, 2006 - match drawn
545: Edgbaston, 2002 - England won by innings and 111 runs
529-5 dec: Lord's, 2002 - match drawn
512: Old Trafford, 2002 - England won by 10 wickets
Broad hit nine fours in a 39-ball 47 and Plunkett made the most of being dropped by Eranga at midwicket on two by clubbing a rapid 39. Both batsmen fell to Nuwan Pradeep, who finished with 4-123.
With only James Anderson for company, Root sped towards his double century, reaching the mark with a paddle sweep to provide the cue for captain Alastair Cook to declare.
Anderson looked to have struck with the last ball of his first over, but Karunaratne overturned an lbw verdict.
Broad was also denied an early breakthrough when he located Karunaratne's edge, only for the ball to fly at catchable height between new boys Jordan and Gary Ballance at second and third slip respectively.
After starring performances in England's Twenty20 and one-day sides, Jordan made a dramatic start to his Test bowling career, drawing a drive from Karunaratne, who feathered an edge through to Prior.
England were convinced they had removed Silva in similar fashion as they went up in unison for a catch behind. But third umpire Steve Davis, after watching countless slow-motion replays, decided he could not see clear evidence that Prior's catch was clean.
By the close of play Silva and Sangakkara had extended their partnership to 86, leaving the visitors well placed to continue their pursuit of England's mammoth score on Saturday.
(BBC)