Sachin Tendulkar hit 99 to lead India to a nine-run win over England that leveled the seven-match one day international series at 1-1 on Friday.
Tendulkar and captain Rahul Dravid, who led a late flourish with 92 not out, guided India to 329 for seven after Dravid had won the toss.
Munaf Patel and Piyush Chawla then took three wickets each to help restrict England to 320-8, with Ian Bell top scoring with 64.
Dimitri Mascarenhas hit a late 52 from 39 balls for his best one day score and tailender Stuart Broad finished unbeaten on 29.
Dravid seemed to have learned a lesson from Tuesday's opening loss in Southampton, when he asked England to bat first and then saw his team needing 289 to win.
Dravid won a crucial toss for Friday's day/night match and chose to bat first this time.
Openers Tendulkar and Sourav Ganguly put on 113 for the first wicket on a slow pitch at Bristol and India set England 330 to win even though Andrew Flintoff took five one day wickets for the first time.
Tendulkar and Ganguly were scoring at almost a run per ball when Flintoff broke the opening stand by having Ganguly caught by Paul Collingwood at point for 39.
However, England had made one change to the team that won on Tuesday, bringing in pace bowler Chris Tremlett for spinner Monty Panesar, and the all-seam attack continued to struggle on a slower than expected wicket.
Having scored fluently with 15 fours and a six, Tendulkar sat in the 90s for almost five overs before he was out.
Having become the first man to score 1,000 one day runs against every Test-playing nation, Tendulkar fended a rising delivery from Flintoff and the ball brushed his elbow for wicketkeeper Matthew Prior to take a rolling catch to his left.
Tendulkar stood his ground, but the umpire gave him out.
Yuvraj Singh made 49 before falling to a catch by Collingwood off Broad, making it 243-3 off 40 overs, but Dravid's 92 off 63 balls helped India add 86 off the last 10 overs despite three more wickets to Flintoff and another one to James Anderson.
Flintoff finished with 5-56, but England then struggled to score briskly enough in reply.
Prior and Alastair Cook guided England to 76-0 from 10 overs, but both openers fell to Patel to make it 76-2 off 11.
Bell and Kevin Pietersen steadied England to 134-2, but Pietersen was bowled for 25 by Chawla and the home team struggled for momentum as key wickets continued to fall.
When Bell went to a catch by Patel off Chawla as he tried to chase a run rate headed past 10 an over, England's hopes were gone.