Sri Lanka thrashed South Africa by 128 runs in Colombo on Wednesday to wrap up the one-day series 4-1.
The hosts, already holding an unassailable 3-1 lead, piled up 307-4 after electing to take first strike and then shot the visitors out for 179 in 43.5 overs at the Premadasa stadium.
South African captain AB de Villiers made a valiant 51, but could not prevent his team from being condemned to their 13th defeat in 15 one-dayers on Sri Lankan soil.
Suranga Lakmal and off-spinner Sachithra Senanayake marked their first appearance in the series by sharing five wickets. Ajantha Mendis claimed three for 36.
Opener Dilshan, who hit an unbeaten 115 in the fourth game in Pallekele on Sunday, plundered 13 boundaries before he was bowled for 99 by McLaren in the 39th over.
"I am a bit disappointed at missing my century, but these things happen in cricket," said Dilshan. "But I think McLaren bowled that over very well.
"I am really enjoying my cricket these days. When I get a start, I want to make it count. This has been a good series for me. I have batted, bowled and fielded well."
Lahiru Thirimanne, promoted to number three, scored 68 and Kumar Sangakkara was unbeaten on 75 off 45 balls as the South African bowlers wilted in steamy conditions. Left-handed Thirimanne and Dilshan put on 163 for the second wicket after Kusal Perera was caught behind off Morne Morkel in the fifth over.
South Africa lost wickets in a heap to plunge to 85-6 by the 20th over, with Senanayake and Lakmal grabbing two wickets each. The Proteas were 60-1 in the 10th over when the dismissal of star batsman Hashim Amla for 18, leg-before to Senanayake, triggered a middle-order collapse.
Lakmal removed Farhaan Behardien and David Miller in the space of three balls after Faf du Plessis had fallen to Thisara Perera for six. De Villiers and the tailenders delayed the end, but Sri Lanka emerged comfortable winners with an impressive all-round display. De Villers said the series was a good learning experience for his side.
"We just could not get any momentum going," he said. "But we will keep learning. The series was a great experience. We played some quality spin against a sub-continent team that knew their conditions really well."
In a match that held only academic interest, Sri Lanka rested regulars Mahela Jayawardene, Lasith Malinga, Upul Tharanga and Rangana Herath. They were replaced by Lakmal, Senanayake, Angelo Perera and Kusal Perera.
The tourists recalled McLaren and spinner Phangiso in place of Rory Kleinveldt and Robin Peterson. The teams will now play three Twenty20 internationals, with the first match to be held at the same venue on Friday.
Photo: Sri Lankan captain Angelo Mathews (left) and Kumar Sangakkara celebrate their win against South Africa in Colombo on Wednesday. (REUTERS/Dinuka Liyanawatte)
Dilshan century guides Sri Lanka to series win
Confident Lyon set to roar in Australia's Ashes cause
Miller, Tsotsobe steer SA to first win in Sri Lanka ODIs
PHOTOS: Pietersen to return; Aus turn to Warne
Sangakkara century leads Sri Lanka to stunning win