All of Sri Lanka’s top five batsmen made scores in excess of 35, all of them at a rapid pace, to help the home side post a huge 215 for 3 in its 20 overs.
West Indies fought hard for a while but was ultimately bowled out for 185 in 19.5 overs.
Dilshan also overtook former captain Mahela Jayawardene as Sri Lanka’s highest scorer in Twenty20 Internationals.
Kusal Perera (40 from 36), Shehan Jayasuriya (36 from 22), Dinesh Chandimal (40 off 19) and Angelo Mathews (37 from 13) made vital contributions too.
The teams will play for the final Twenty20 tomorrow in Colombo.