India captain Virat Kohli hit 121 off 125 deliveries to register his 31st century in ODIs and anchor the hosts to 280 for eight after winning the toss and opting to bat.