Sri Lanka continued their unbeaten run in the Asia Cup, winning by 64 runs after being invited to bat by Pakistan in their Super Four match in Karachi.
Kumar Sangakkara led the way with 112 from 110 balls as they made 302-7 from their 50 overs, although left-arm seamer Sohail Tanvir took 5-48.
Pakistan were given early impetus as Shoaib Malik (52) and Younus Khan (47) added 72 for the second wicket.
But despite Misbah-ul-Haq's 76, they never looked like making their target.
The result leaves Sri Lanka on course for a place in the final, which they can guarantee with a win over Bangladesh on Monday.