Jermain Defoe's first-half strike was enough put the Three Lions into the next stage, but Fabio Capello's men finish as Group C runners-up following USA's last-gasp 1-0 triumph over Algeria.
England started the game nervously with Matthew Upson replacing Jamie Carragher in defence and Defoe and James Milner coming into the starting 11 for Emile Heskey and Aaron Lennon.
Successive fouls by Glen Johnson saw referee Wolfgang Stark have a stern word and it was the dangerous Valter Birsa who forged the first shooting opportunity of the day as he cut in from the right to fire straight at David James.
A number of corners fell England's way, but the inspired Samir Handanovic in the Slovenia goal kept the men in red at bay.
But, in the 23rd minute, Capello's men grabbed the crucial breakthrough. Fine play on the right between Johnson and Milner led to the Aston Villa man sending a mouth-watering ball into the area.
Defoe was on hand to beat his marker and shin the ball at Handanovic. The shot-stopper got two strong hands to the effort, but he could only tip his strike into the roof of the net to send the England faithful wild in the stands.
England were now in the ascendency and another right-wing cross from Milner was palmed to the edge of the box where Frank Lampard fired narrowly over. Johnson's centre then almost found Steven Gerrard at the back post, but the Liverpool man's control let him down.
Then Handanovic kept his side in the contest as he saved from Defoe. The ball ricocheted to Wayne Rooney and his clever pass found Gerrard unmarked, but the England captain's side-footed strike was turned away as a second goal beckoned.
Immediately after the re-start, Rooney's quickly-taken corner almost brought Defoe's second of the day.
His corner was punched away by Handanovic and, as the ball was looped back in, Defoe, with his back to goal, nonchalantly flicked wide from six yards out.
The 1966 World Cup winners began to dominate once more, but the failure to score that elusive second goal allowed Slovenia to grow in hope.
Defoe had a goal disallowed for offside and then John Terry had his header expertly turned behind by Handanovic.
Rooney missed another gilt-edged chance to put the opposition out of sight from the resulting corner.
Lampard hoisted the ball into the area to the unmarked and onside front man, but he could only watch his tame effort bounce off the post after Handanovic made another telling stop.
Sloppy play from Gareth Barry allowed Birsa to break with 20 minutes remaining and, as the ball broke to Milivoje Novakovic, he could only shoot at Terry. Substitute Zlatko Dedic was then cruelly denied by Johnson as England rode their luck.
Joe Cole and Heskey made their way into the action as Capello freshened things up and, with time running out, Upson made a last-ditch diving challenge to deny Dedic.
However, England held firm to seal their place in the last 16 where they will meet Germany, Ghana, Serbia or Australia on Sunday afternoon.