Even the best team makes mistakes and today SL were truly unfortunate to first score less runs and then field badly. Pakistan used this opportunity to make runs and they succeeded despite having few wickets in hand. Malinga must be really upset today for having 3 dropped catches. Anyways, one's loss is the other one's win and congrats to the Pak team.
We can also say that Pakistan team always try to give surprises to everyone just like today in the middle when they started to lose wickets in the last this partnership gave win for them. Sri Lanka played poor in batting and in bowling in middle overs they were good but as you said dropped catches gave them defeat
So now three teams from south asia are in semifinal and if i am not wrong we can see final between India vs Pakistan. it will be superb final if it happened.