Cheteshwar Pujara (121 not out) and opener Murali Vijay (128) powered India to 312/2 and take a 107-run first-innings lead against Sri Lanka on the second day of their second cricket Test here on Saturday.