Sri Lanka's Angelo Mathews in action against India during their match at Headingley, Leeds, on Saturday. Lee Smith / Reuters
A gritty century by Angelo Mathews lifted Sri Lanka to 264-7 against India after a top-order collapse on Saturday, the final day of the World Cup group stage.
Former Lankan skipper made 113 and put on 124 runs for the fifth wicket with Lahiru Thirimanne to give Sri Lanka a respectable total after they were reeling on 55 for four at Headingley.
Fast bowler Jasprit Bumrah removed openers Dimuth Karunaratne (10) and Kusal Perera (18) inside eight overs after Sri Lanka, who are playing for pride after missing out on the semi-finals, won the toss and elected to bat.
Bumrah returned impressive figures of 3-37 in his 10 overs as India, who are already qualified for the semi-finals, restricted Sri Lanka with some quality bowling.
Kusal Mendis was stumped off left-arm spinner Ravindra Jadeja, who is playing his first match of the competition, before paceman Hardik Pandya had rising star Avishka Fernando caught behind for 20.
The right and left-handed batting combination of Mathews and Thirimanne rotated the strike and got the occasional boundary to keep the score ticking.
Thirimanne registered his 21st ODI fifty but soon fell to Yadav's left-arm wrist spin on 53 after giving away a catch to point.
Mathews, who was dropped on 61 by Bhuvneshwar Kumar at long-on off Jadeja, went on to complete his tone − his third in ODIs − with a boundary off Pandya.
The former Sri Lanka captain finally fell to Bumrah after smashing 10 fours and two sixes during his 128-ball knock.
Dhananjaya de Silva chipped in with his unbeaten 29 after his 74-run partnership with Mathews that took Sri Lanka past the 250-run mark.
Virat Kohli's India need 265 for a victory, which would give them a chance of finishing above defending champions Australia, who face South Africa in the day's other match.
India made two changes after beating Bangladesh by 28 runs on Tuesday in Birmingham.
It was a superb display by the underdog Black Caps, who came into the match on the back of three straight defeats by Pakistan, Australia and England and only qualified for the semi-finals on net run-rate, while India topped the 10-team group stage.
Rohit Sharma's 103 from 94 balls in India's successful chase of 265 separated him from Kumar Sangakkara's record four hundreds in 2015.
Max Verstappen sprung what could be the surprise of the Formula One season by beating Lewis Hamilton to win the 70th Anniversary Grand Prix on Sunday.
Lionel Messi scored a brilliant solo goal as Barcelona saw off Napoli on Saturday but they are likely to need something even more special from their captain to beat Bayern Munich in the quarter-finals.
Derrick Lewis capped off the UFC Vegas 6 main event with a brutal knockout thanks to some vicious ground and pound while also entering the all-time record books at the UFC APEX in Las Vegas.