Suarez, back in action just four weeks after knee surgery, put Uruguay ahead with a 39th-minute header before Wayne Rooney equalised with his first ever World Cup finals goal.
But Liverpool hitman Suarez had the final say when he latched on to a long ball and smashed home the winner five minutes from time, leaving England staring at their first group stage exit since 1958.
England, who also lost their first game 2-1 to Italy, are now left relying on the Azzurri beating Costa Rica on Friday to keep them in the competition.
Despite familiar temperatures of 12 degrees C (54 F), England started nervily and after conceding an early corner, goalkeeper Joe Hart had to beat away Suarez’s place-kick at his near post.
But England’s pacey forwards were soon causing problems and when Daniel Sturridge drew a foul for handball near the penalty area, Rooney’s free-kick curled agonisingly wide.
England, with Rooney playing centrally behind Sturridge, looked the stronger but they suffered a scare when Phil Jagielka lost the ball in defence and Cristian Rodriguez couldn’t keep his rising shot on target.
After a scrappy period, Uruguay again went close when Suarez’s low corner from the right was struck first time by Cavani but whistled over the bar.
On the half-hour, Rooney came within inches of scoring when, from about a yard away, he headed a Steven Gerrard free-kick against the angle between the post and crossbar.
England were in the ascendancy but six minutes from the break, it was Uruguay who scored on the counter via the hitherto quiet Suarez, after England lost the ball on the halfway line.
Nicolas Lodeiro passed left to Cavani, who wrong-footed the entire defence with a sumptuous diagonal chip to the Liverpool forward, who got away from Jagielka and looped his header over Hart.
Almost straight away, Sturridge drew a sharp stop from Fernando Muslera as England sought in vain for a response before half-time.
After the break, Suarez very nearly doubled Uruguay’s lead first when his corner was parried by Hart off the line, and then when he shot well wide with the goal at his mercy.
England, now defending in front of the Uruguay support, were looking ragged and Cavani also should have put his team 2-0 up when he burst into the penalty area but fired wide.
However, Rooney almost got the equaliser when he latched on to a cross from the left and hammered a shot at the diving Muslera.
An accidental Raheem Sterling knee to the head knocked out Alvaro Pereira but he refused to be substituted.
Sturridge burst into the box and should have done better with a weak shot which rolled to the goalkeeper.
England boss Roy Hodgson threw on Ross Barkley and Adam Lallana for Sterling and Danny Welbeck but it was Glen Johnson who created England’s breakthrough when he beat his man on the right of the box.
The right-back’s rolled ball fell perfectly for Rooney and the grateful Manchester United striker had the simplest of tap-ins as he finally scored his debut goal at a World Cup finals.
Sturridge then worked Muslera as England, buoyed by Rooney’s goal, came alive and looked an increasing threat.
But again it was Uruguay who struck through Suarez, who gambled to latch onto a long ball from defence and lashed his shot past Hart, before celebrating wildly in front of his adoring fans.