The right-hander, who carried on from his overnight score of 70, got to the three-figure mark in the 72nd over of India's first innings.
The Tamil Nadu batsman's eighth Test ton included eight fours and three sixes.
The most impressive aspect of Vijay's batting was his attitude in the morning session of play. Despite losing Cheteshwar Pujara on the second ball of the day, the 32-year-old continued playing his shots and stayed positive.
Vijay found an able ally in skipper Virat Kohli, who wasted no time upping the scoring rate as soon as he got to the crease.
Though the Chennai-born got off to a brilliant start in this series with a score of 126 in Rajkot, his form dipped thereon. His scores of 31, 20, 3, 12, 0 showed that it went downhill for him since his seventh ton in the Gujarat town.
However, Vijay found his legs on Saturday to score a sublime century under pressure from the English attack.
The last time an Indian opener scored a century at the Wankhede Stadium was Virender Sehwag (147) against the West Indies in October 2002.
Sunil Gavaskar, who has five, is the only other Indian opener to get a century at the ground where India won the 50-over World Cup five years ago.