England stormed into the Champions Trophy semifinals with a 22-run victory over South Africa which crashed out of the tournament despite captain Graeme Smith's brave century here Sunday. Smith hit a career-best 141 for his eighth one-day hundred but his team was still restricted to 301-9 while chasing a 324-run target. The defeat also eliminated the host, who needed 313 to stay ahead of Sri Lanka on net run-rate. England has won both of their games in the four-team Group B, while South Africa and Sri Lanka finished their league engagements with one win apiece in three matches. England owed its highest one-day total against South Africa to Man of the Match Owais Shah and Eoin Morgan, who gave a superb exhibition of power-hitting. Shah smashed 98 off 89 balls, while Morgan cracked a 34-ball 67. Smith, dropped on 82 by Shah at long-on off seamer Collingwood, sustained his team's hopes with a gutsy knock. He reached his century when he cut Collingwood for his 10th four. Smith, refused a runner after suffering from cramp later in his innings, put on 78 for the third wicket with AB de Villiers (36) and 64 for the next with Jean-Paul Duminy (24). But the asking-rate kept climbing as the hosts needed 94 to win in the closing 10 overs. It was all over when Smith fell in the 47th over after hitting 16 fours in his 134-ball knock. In Johannesburg, New Zealand resurrected its Champions Trophy campaign when it beat Sri Lanka by 38 runs. Half centuries from Jesse Ryder and Martin Guptill helped New Zealand plunder 315 for seven from their 50 overs. In reply, Sri Lanka could muster only 277 all out in 46.4 overs thanks mainly to 77 from Mahela Jayawardene and an undefeated maiden ODI half-century from Nuwan Kulasekara. Injured Ryder was ruled out of the Champions Trophy and fined for smashing a chair. Ryder made 74 while struggling with a pulled hamstring and a team spokesman said he would play no further role for the Black Caps.