Asith Fernando and Maheesh Theekshana have shared six wickets as Sri Lanka bowled out New Zealand for 150 in 29.4 overs to win the third one-day international by 140 runs.