Lasith Malinga took 5-31 as Sri Lanka knocked England out of the Twenty20 World Cup to reach the semi finals.