Chasing a challenging total of 283, the hosts put up a pathetic show to be bowled out for 144 in 42.2 overs at the Brabourne Stadium.
Incidentally, this was India's first defeat to Sri Lanka in 18 matches, having won their previous 16 encounters with one ending in no result.
India lost three wickets for 38 runs in the 13th over, which included opener Poonam Raut, skipper Mithali Raj and last match centurion Harmanpreet Kaur.
Kaur failed to score a run, while Raut (5), Raj (20) were trapped leg before by Eshani Kaushalya and Udeshika Prabodhini, respectively.
The India skipper shone briefly with the bat, striking four fours in the 35 minutes she spent in the middle.
The hosts reached 50 in 17 overs and it was always going to be an uphill task from there on, and they lost left-handed opener Thirushkamini Murugesan at the same score, adding to the woes.
The middle-order failed to forge a partnership and things plummeted for India as they kept losing wickets in quick succession.
India's best partnership was for the sixth wicket between Jhulan Goswami and Reema Malhotra, who added 37 runs.
Malhotra was the top scorer for India with her 38 coming off 51 balls, and which included two fours.
India needed at least 251 runs to edge out the West Indies by virtue of having a better net run-rate and enter the Super 6 stage.
Sri Lankan skipper Shashikala Siriwardene and Chamani Seneviratne bagged two wickets each.
Earlier, Sri Lanka's batting fired in unison as they posted a competitive 282 for five.
Deepika Rasangika led the way with a knock of 84 while Kaushalya provided the late impetus with a breezy, unbeaten 31-ball 56 to propel the visitors.
Yashoda Mendis (55) and Shashikala Siriwardene (56) were the other contributors for Sri Lanka.
But it was the match winner against England, Kaushalya's blinder of a knock that lifted the Lankans. Her innings was studded with six fours and three sixes.
Opting to bat, Sri Lanka lost their first wicket in the first over itself, when left-hander Chamari Athapaththu was caught at first slip by Raj off pacer Goswami.
But Mendis and one-down batter Rasangika stabilised the innings and scored runs at a quick rate.
The duo forged a 117-run stand for the second wicket in 140 balls, before Mendis was caught by Gouher Sultana at mid-on off the bowling of Amita Sharma.
For India, former skipper Jhulan Goswami bagged three wickets for 63 runs in her 10 overs.
Rasangika, during here 151-minute stay at the crease, struck 11 fours. India tried to rein in the run rate even as Rasangika shared a 67-run partnership with skipper Siriwardene for the fourth wicket.
She was dismissed, when Raj ran backwards to take a catch at extra cover off Goswami.
The Sri Lankan skipper and Lokusooriya upped the ante adding 58 runs in 43 balls. Siriwardene, who scored 59 in 67 balls, was run out in the 47th over.
India will play Pakistan for the seventh position in Cuttack on Thursday.
From Our Network
- Ayaz Promised He Wouldn't Speed, Says Azhar's Friend Jwala Gutta
- Watch: 'You're not happy India won', captain cool Dhoni fumes at journalist
- IPL 8: Glenn Maxwell has disappointed himself: George Bailey
- Sachin Tendulkar prays for flood victims, says Chennai is fighting back
- Ahmed Shehzad acted like Afridi's servant: Former PCB chief
- Why doesn’t farmers’ suicide trouble you as much as Pratyusha’s, asks Nana Patekar
- 'Find Your Beautiful': Radhika Apte explains real meaning of beauty
- Actor Harshvardhan Rane finds it challenging to romance three heroines in 'Maaya'
- Shah Rukh Khan is really impressed with his 'Raees' co-stars
- Kapil Sharma returns tonight: 5 reasons that make the first episode special