Karunaratne taking a few risks as he shuffles across a long way and paddles a full toss delivery from Ferguson fine on the leg side for a four.
Lakmal then gets a top edge trying to swing it but the bowler has overstepped to give away a free hit.
Strangely, the well-set Karunaratne decides under the free hit delivery as Ferguson bowls the slower bouncer.
He then makes room and tries to hit it through the off-side but is beaten by a full delivery.
Boult sends back Lakmal with a well-directed bouncer as he looks to duck to under but deciding last minute to pull it, as he gets the top edge and is caught in the covers for seven.
Last man Lasith Malinga gets off the mark with a single to thirdman. Karunaratne looking to attack but gets nothing from Boult as he steers the first ball to short thirdman before he digs out the yorker behind square on the leg side for a couple to complete his fifty, from 81 balls.
He does well to keep strike with a single from the last ball to the fine leg region.
Ferguson ends Sri Lanka's innings with the wicket of Karunaratne who pulls a short ball but is caught by Santner running in from deep square leg. He does well to dive forward but the ball seems to have touched the ground as the batsman is ruled not out.
But Ferguson strikes very next ball as Malinga misses a full toss and is bowled for one.
Sri Lanka are bowled out for a paltry 136 in 29.2 overs, with captain Karunaratne carrying his bat through with 52 not out from 84 balls.
Ferguson finishes with three for 22 in 6.2 overs.