Cook won the toss and then made 95, having been dropped early on, out of England's 247 for two at stumps on the first day of the third Test.
Ravindra Jadeja (R) celebrates with his teammates after taking the wicket of Alastair Cook (2nd L) during the first day of the third Test match between England and India in Southampton. (AP Photo)
Gary Ballance, who helped his captain put on 158 for the second wicket, succeeded where Cook had failed by reaching three figures to be 104 not out at the close.
"I was desperate to score runs," Cook, who has averaged a modest 26 since scoring the last of his England record 25 Test hundreds more than a year ago, told Sky Sports.
"It's been a long time since I have done it. Tonight I feel like I have contributed.
The 29-year-old left-handed opener added: "I can't tell you how much I wanted to score a hundred.
"It's a step in the right direction. You always back yourself to score when you are under pressure.
"To be 247 for two is a great day. We have given ourselves a platform."
Ballance's innings meant the Zimbabwe-born left-hander, who'd repeatedly come in with England in difficulty, had now scored three hundreds and two fifties in his six Tests.
Gary Ballance celebrates reaching his century as Mohammed Shami (R) gestures during the first day of the third Test match between England and India in Southampton. (AFP Photo)
An India attack missing injured paceman Ishant Sharma, whose career-best seven for 74 sealed their 95-run win in the second Test at Lord's, was unable to pose much of a physical threat on an even-paced pitch.
But if those circumstances were in Cook's favour, he still needed to stay at the crease.
Several ex-England skippers, the latest being Test exile Kevin Pietersen on Saturday, had called for Cook to resign as captain.
But the undaunted Cook, despite his run drought and with England 1-0 down in the five-match series, opted to bat first on a green-tinged surface.
Jadeja reprieves Cook
Cook edged the first ball of the match, from Bhuvneshwar Kumar, just short of the slips.
He then had a huge let-off on 15 when he pushed out to 6ft 6in Test debutant Pankaj Singh, Ishant Sharma's replacement, and got a thick outside edge only for Ravindra Jadeja to drop a seemingly simple catch at third slip.
But a first-wicket partnership worth 55 ended when Sam Robson fell in familiar fashion.
Mohammed Shami squared up the Australia-born opener and this time Jadeja held the catch.
Shami also beat Cook outside off stump. But two cut fours off spinners Rohit Sharma, recalled in place of dropped all-rounder Stuart Binny, and Jadeja took Cook to 48 not out at lunch.
Cook completed a 98-ball fifty with a pulled two off Shami as the crowd signalled its support with a standing ovation, an unusual accolade for a half-century.
At tea, England were 186 for one, with Cook 82 not out and Ballance 72 not out.
But Cook's near five-hour innings ended when, swiping at a long hop from left-arm spinner Jadeja, he got a bottom edge and was caught down the legside by wicketkeeper and opposing captain Mahendra Singh Dhoni.
Cook received another standing ovation as he walked back having faced 231 balls including nine fours.
England were now 213 for two and were fortunate not to lose Ian Bell (16 not out), for a duck when he survived an lbw appeal after Singh's out-swinger rapped his pads.
Singh deserved better than his figures of none for 62 in 20 overs but his was just one of several economical contributions as India's bowlers kept England to a run-rate of under three an over.
Yorkshire left-hander Ballance late-cut Shami for four to complete a 189-ball hundred including 15 boundaries that followed the 24-year-old's 110 at Lord's.
England made three changes from the side that lost the second Test, bringing in debutant wicketkeeper Jos Buttler for the injured Matt Prior while all-rounders Chris Jordan and Chris Woakes replaced fast bowler Liam Plunkett and Ben Stokes respectively.
England: Alastair Cook (captain), Sam Robson, Gary Ballance, Ian Bell, Joe Root, Moeen Ali, Jos Buttler (wicketkeeper), Chris Jordan, Stuart Broad, Chris Woakes, James Anderson
India: Murali Vijay, Shikhar Dhawan, Cheteshwar Pujara, Virat Kohli, Ajinkya Rahane, Rohit Sharma, Mahendra Singh Dhoni (captain/wicketkeeper), Ravindra Jadeja, Bhuvneshwar Kumar, Pankaj Singh, Mohammed Shami
Umpires: Rod Tucker (AUS) and Marais Erasmus (RSA)
TV umpire: Rob Bailey (ENG)
Match referee: David Boon (AUS)
Commentary, England 1st Innings