Southampton - Gary Ballance and Ian Bell piled on the runs to cement England's strong position in the second Test against India at Southampton on Monday.
At lunch, England were 358 for three with Ballance falling shortly before the break for a Test-best 156.
Together with Bell (68 not out), Ballance put on 142 for the third wicket.
Joe Root was two not out.
England, 1-0 down in the five-match series, resumed on 247 for two, with Zimbabwe-born left-hander Ballance 104 not out - his third hundred in six Tests.
Meanwhile Bell, who might have been lbw for a duck to a brilliant late-swinging delivery from debutant paceman Pankaj Singh, was 16 not out.
England's total also owed much to captain Alastair Cook's 95 that saw the left-handed opener end a run of low scores if not a sequence that now extends to 28 innings without a Test hundred.
India, without the injured Ishant Sharma - the seven-wicket hero of their 95-run win in the second Test at Lord's - had struggled for penetration after Cook won the toss on an even-paced pitch.
Singh, Sharma's replacement, had been unlucky not to take at least one wicket on Sunday, having Cook dropped by Ravindra Jadeja in the slips on 15.
The 6ft 6in seamer also beat Bell outside off stump early in Monday's play and then saw the batsman edge him through the slips for four.
However, Bell was far more convincing in cover-driving Bhuvneshwar Kumar to the boundary in typically classic style.
Ballance then surpassed his previous highest Test score of 110, made last time out at Lord's, with three fours in four Kumar balls, as a cut was followed by a leg glance and then a well-timed punch through midwicket.- Straight Six -
That Bell, without a hundred in his 19 previous Test innings, was finding his best form was evident when he struck one of his signature shots by advancing down the pitch to drive left-arm spinner Jadeja for a straight six.
His single off Mohammed Shami then saw Bell to a 99-ball fifty.
As the sun broke through the clouds, conditions were near-ideal for batting, with India's attack lacking physical threat on a pitch where there was only slow turn for their spin bowlers.
Ballance pulled Singh down to the fine leg boundary to get to 150 in 278 balls with 23 fours.
But soon afterwards the 24-year-old was given out caught behind off the gentle spin of Rohit Sharma, the recalled batsman taking his first Test wicket, to end a stay of more than six hours at the crease.
Australian umpire Rod Tucker's decision was understandable given the noise, but replays showed the ball had hit Ballance's back pad, not his bat, on its way through to India captain and wicketkeeper Mahendra Singh Dhoni.
However, with no Decision Review System this series because of Indian objections, Tucker's verdict stood.