James Anderson's excellent new-ball spell provided England with a perfect start to their Champions Trophy campaign against Sri Lanka at the Wanderers.
Anderson struck twice during an opening burst of 7-2-11-2 as the bowlers made good use of the conditions.
Graham Onions also claimed two wickets during a stunning opening half-a-dozen overs, which left the in-form Sri Lankans reeling on 17 for four.
Even though they stabilised thanks to a half-century stand between Thilan Samaraweera and Thilina Kandamby, they were on a modest 109 for five at the halfway stage.
In a massive turnaround from the one-day drubbing meted out by Australia earlier this month, England revelled under the cloud cover after captain Andrew Strauss won the toss.
Lancashire paceman Anderson removed dangerous duo Tillakeratne Dilshan and Mahela Jayawardene after opening partner Onions had accounted for veteran Sanath Jayasuriya in the second over.
A sliced drive from Sri Lanka captain Kumar Sangakkara then left Sri Lanka, who trounced hosts South Africa in the opening match of Group B, in disarray.
In conditions similar to what the English attack might discover at this time of year back home, there was considerable swing and seam movement for the fast bowlers.
It was a mild day on the Highveld with the overcast covering of the ground encouraging.
England exploited it perfectly as left-hander Jayasuriya feathered an edge behind, feeling for the ball around off stump.
Dilshan then drilled a square drive low to Eoin Morgan at backward point before Anderson doubled his tally by nipping one back to claim a plumb lbw.
Three balls later, Sangakkara was pouched in front of his face by Strauss at first slip to increase the level of jubilation.
But the experienced Samaraweera and left-hander Kandamby forged a useful alliance to quell the enthusiasm.
Their 50-run partnership arrived in exactly one hour when Samaraweera flicked an Onions delivery through the on side for the first of consecutive fours.
However, Ashes hero Stuart Broad, recalled along with fellow all-rounder Luke Wright following injuries, snared Samaraweera just as the Sri Lankans appeared to have redressed the balance of the contest - a drive comfortably intercepted at point by Paul Collingwood.
Following the batting troubles against the Australians, Ravi Bopara was dropped with Owais Shah moving up to number three.
Sri Lanka, whose recent dominance over England has seen them win eight of the last 11 contests between the countries, were unchanged from their opening victory.