Gary Ballance breathed new life into England's victory hopes with a maiden Test century which left him struggling to put his feelings into words.

England's new number three, pushed up the order in only his second Test, responded with an unbeaten 104 which rescued a second-innings slump on day four against Sri Lanka at Lord's.

The hosts, thanks in particular to Ballance's seventh-wicket stand of 78 with debutant Chris Jordan, were able to close on 267 for eight after all in this first Investec Test.

Alastair Cook will therefore almost certainly declare overnight, leaving Sri Lanka to try to bat out the final day - in theoretical pursuit of 390.

England were in a decidedly awkward, if not necessarily parlous, state at 121 for six when Ballance and Jordan joined forces.

More than two hours later, the Zimbabwe-born left-hander completed his century with a six over midwicket off Rangana Herath in the final over of the day.

"It's just a great feeling. I can't really describe it," said the 24-year-old Ballance.

"It's just very special, and I'm over the moon."

The hard work was done before Ballance chalked up his milestone - but with a match to be won, England hope, did he fear he might be running out of time?

"A little bit," he agreed.

"When Broady [Stuart Broad] came in, he was quite positive. That helped me be positive and luckily I got a few boundaries away and got nearer to three figures.

"With one over to go, I needed three - and I didn't want to nurdle around in singles. So I thought I'd go with a slog-sweep and luckily it came out of the middle.

"I thought 'if there's a chance to get a hundred tonight, why not try to get it tonight?'"

Ballance was then able to celebrate in front of his close family, adding: "I had my parents and my brother fly over from Zimbabwe a few days ago.

"It's special to score this hundred in front of them."

Any sort of elation looked a long way away as England faltered to the spin of Herath (four for 95) and seam of Shaminda Eranga (three for 63) after bowling Sri Lanka out for 453 despite captain Angelo Mathews' 102.

Ballance did not panic, though.

"We had a good lead, but Sri Lanka bowled well on a pitch which was getting a bit low and slow," he said.

"It was a tough time. But I knew if we just batted time, we could score freely towards the end of the day."

There was just one minor moment of anxiety, when Sri Lanka reviewed a not-out decision for caught-behind as Ballance tried to cut Eranga on 36.

He was reprieved and not surprised.

"I was confident I hadn't hit it," said Ballance. "But with DRS, you never really know, do you?

"My heart was in my mouth a bit, but I was pretty confident."

Thanks to Ballance, Sri Lanka must contemplate closing out a stalemate on Monday, although t heir middle-order batsman Lahiru Thirimanne is optimistic.

"We bowled really well, but some things didn't go our way," he said.

"The ball that got out Ian Bell was fantastic. T he wicket is still very good, so we are hoping to bat well tomorrow."

Give or take a few grumbles about a possible earlier declaration, England sent the crowd home happy - including, presumably, a certain Kevin Pietersen who watched proceedings from a corporate box with chums in the Grandstand.

The discarded batsman tweeted his 'instructions' to former team-mates before start of play - and saw them carried out, almost to the letter.

"Going to Lord's today," Pietersen wrote.

"Want to see SL out 460 & ENG bat positively to a 380 lead then declare...entertain today pls, Cook's men!"

On their prospects of turning advantage into victory, Ballance said: "It will be tough.

"But I think, as Sri Lanka showed there, I think they got eight wickets in about 60 odd overs - it's possible.

"It's starting to go up and down a bit.

"Especially under pressure, if we can get a few early wickets, then we'll definitely give ourselves a good chance of winning the game with the attack we've got."