Captain Rahul Dravid scored 57 and his deputy Sachin Tendulkar returned to form with 60 after West Indian captain Brian Lara elected to field in the day-night game at the Chidambaram stadium on Saturday.
India, leading 2-0 in the four-match series, were cruising at 232-3 in the 35th over when the tourists bounced back with seven wickets for 36 runs.
Seamer Dwayne Bravo, hammered for 19 runs by Uthappa in his first over, grabbed four wickets for 20 runs in his next eight to lead the West Indian fightback.
Uthappa, a 21-year-old playing only his fourth one-dayer, enhanced his World Cup claims by smashing 11 boundaries and two sixes in his first appearance in the series.
The right-hander reached his half-century off 32 balls by lofting rookie all-rounder Reyad Emrit for a six and celebrated the landmark with the run feast off Bravo.
When Uthappa fell in the 11th over, holing out in the deep off Chris Gayle, he had contributed 70 runs in India's total of 95-2.
Tendulkar, one-day cricket's most successful batsman with 14,568 runs and 40 hundreds before this match, finally hit form after making just 202 runs in his last 10 innings.
Both Tendulkar and Dravid hit their 75th one-day half-centuries in a fourth-wicket stand of 106 before falling in the space of five runs to trigger the collapse.
Bravo, who removed Tendulkar to a catch in the deep, dismissed Yuvraj Singh and Dinesh Karthick in three balls and then took the last wicket of Shanthakumaran Sreesanth.
India's selectors, not hesitating to change and chop in a bid to arrive at the perfect World Cup combination, rested Sourav Ganguly, Harbhajan Singh, Mahendra Dhoni and Zaheer Khan for the match.
Yuvraj, fit again after suffering a knee ligament injury in November, returned to the team along with veteran spinner Anil Kumble.
Lara was back for the West Indies after missing the previous match in Cuttack on Wednesday with a sore knee.
The tourists rested in-form batsman Shivnarine Chanderpaul and brought in Lendl Simmons and Emrit for the first time in the series.
The final 15-man squads for the World Cup to be held in the Caribbean in March-April, have to be named by February 13.
India 268 all out in 48 overs (Robin Uthappa 70, Sachin Tendulkar 60, Rahul Dravid 57, Suresh Raina 23; Dwayne Bravo 4 for 39, Taylor 2 for 45, Gayle 2 for 57) Vs West Indies (yet to bat)