Tri-Series, Dambulla: Sri Lanka 221-6 bt India 220-8 by four wickets
Ganguly batted patiently throughout his landmark innings
India's Sourav Ganguly became the third batsman to reach 10,000 runs in one-day internationals but could not stop his side losing to Sri Lanka on Wednesday.
Ganguly top-scored with 51 to join injured team-mate Sachin Tendulkar and Pakistan's Inzamam-ul-Haq in reaching the landmark as India made 220-8.
Occasional spinner Tillakaratne Dilshan took 4-29 for the hosts.
And Mahela Jayawardene (94 not out) and Upul Chandana (44 not out) led Sri Lanka to a four-wicket victory.
Ganguly, who began the match 33 runs short of the 10,000-runs mark, was making his first appearance since serving a four-match ban for time-wasting against Pakistan.
The 33-year-old reached the milestone in his 272nd match with a single to the covers off paceman Dilhara Fernando in the 25th over.
The hosts were 95-6 at one stage before all-rounder Chandana joined Jayawardene at the crease and guided them home with 12 balls remaining.
Sri Lanka have now beaten India twice and West Indies once in the triangular Indian Oil Cup.