The victory resurrects Uruguay’s last 16 hopes following the 3-1 defeat to Costa Rica in their Group D opener.
England, for whom Wayne Rooney scored his first World Cup goal, are now on the brink of World Cup elimination with two defeats out of two.
Including their 4-1 defeat to Germany at the last tournament, it’s the first time England have lost three World Cup games in a row.
Unsurprisingly given both sides knew a defeat would all but end their hopes of reaching the knock-out stages, this game took its time to catch fire after a nervous opening.
Rooney headed a Steven Gerrard cross against the woodwork from point blank range after dipping a free-kick just past the upright, while at the other end Cristian Rodriguez flashed a sizzling drive just over the bar.
Cavani created the opener on 39 minutes despite being crowded by England players, looking up and spotting Suarez peeling off behind Phil Jagielka to head home.
For a moment England were on the rocks but in the second half they gradually turned up the heat.
Rooney had a shot from 12 yards saved by Fernando Muslera, who also denied Daniel Sturridge.
But he could do nothing when Sturridge played in Glen Johnson to cross for Rooney to tap home into an empty net at the back post 15 minutes from the end.
Yet Suarez had the last laugh five minutes from time, gambling to latch onto a flick on and thrash the ball high past Joe Hart in the England goal.