Sri Lanka, the only unbeaten side still in the tournament, will face Pakistan - a team they defeated by 19 runs in the Super Eights stage - in Sunday's final at Lord's.
West Indies, chasing 159 to win, were rocked by a sensational first over of the innings from Mathews which saw the unheralded seamer take three wickets for no runs in five balls.
And that was all before spin stars Ajantha Mendis (two wickets for nine runs) and Muttiah Muralitharan (three for 29) had entered the fray.
buy amoxil online buy amoxil online no prescription
The West Indies were chasing the game and they finished on 101 all out despite captain Chris Gayle carrying his bat for 63 not out.
Mathews took three for 16 in his four overs.
Earlier, Dilshan's knock was the centrepiece of Sri Lanka's 158 for five.
His 57-ball innings, featuring two sixes and 12 fours, was the equal third-best in Twenty20 international history.
Only fellow opener Sanath Jayasuriya (24) and Mathews (12 not out) also made it into double figures.
Mathews struck se