England survived to live for another day as they outbatted India for a 31-run win in a high-scoring World Cup encounter, keeping their semi-final hopes alive in Birmingham on Sunday.

Opener Jonny Bairstow’s hundred (111 off 109 balls) set the platform and a cavalier 54-ball 79 by all-rounder Ben Stokes took England to an imposing 337/7 in 50 overs.

For their part, India stayed in the hunt till the final 10 overs, thanks to Rohit Sharma’s third ton of the World Cup and Virat Kohli’s fifth successive fifty-plus score. But apart from those and Hardik Pandya, to an extent, the rest of the batting lineup disappointed for India, who lost by 31 runs.

Chris Woakes (2/58 in 10 overs) and Liam Plunkett (3/55 in 10 overs) were steady and impressive but it was Jofra Archer’s (0/45 in 10 overs) extra pace that the Indian middle-order, including the hard-hitting Pandya (45 off 33 balls), found difficult to negotiate.

And when Pandya found it difficult, MS Dhoni (42 not out off 31 balls) with his waning power-hitting abilities could not have done better against Archer even though he gave a better account of himself compared to the previous games.

But, as has been the case during this World Cup, there were a smattering of boos when Dhoni, along with Kedar Jadhav, decided to give up on the chase with about five overs to spare. The lack of intent to go for the big shots, even with the required rate climbing, baffled pundits and fans. As unlikely as an Indian win was at that point, the fact that Dhoni and Jadhav (12 off 13 balls) looked to tap the ball in the gaps and jog for singles, made for bizarre viewing.

The difference between the two sides was the number of sixes that England batsmen hit during their innings. Compared to 13 sixes by England, India managed a single six in their entire 50 overs. That was from the bat of Dhoni, when 44 were required of the final six balls.

“You cannot be chasing 338 and still have five wickets in hand at the end. The message had to be clear: no matter what the delivery, you have to find the boundary,” former captain Sourav Ganguly said on air.

“Surely Indian fans would want Dhoni to give it a go. Just give it a go...,” said former England captain Nasser Hussain, sitting alongside Ganguly.

Though Dhoni’s innings was not the sole reason for India’s defeat, the lack of intent came in for some sharp criticism (and some defence too) on social media.