Narendra Modi Varanasi BJP
BJP leader Narendra Modi flashes the v-sign while driving through the streets of VaranasiKevin Frayer/Getty Images

India's most hotly-contested election of all time reaches its climax today with the final day of polling, with over 90 million people due to cast their ballot.

The last remaining tranche of polls will decide the destiny of 41 seats across three separate states, and 600 candidates will be pinning their hopes on the outcome.

Much of the attention has been trained on Varanasi, where BJP Prime Ministerial candidate Narendra Modi is facing off against one of his key rivals, AAP leader Arvind Kejriwal. The 3,000-year old city in Uttar Pradesh has been heavily barricaded, with about 45,000 security personnel deployed to prevent clashes as thousands of people flocked to the polls.

Varanasi, which is home to 1.7 million registered voters, is one of India's most ethnically diverse cities. About 15% of the voters are Muslim - while Modi has been accused of being a Hindu nationalist.

Prior to the opening of the polls Varanasi witnessed a series of massive campaigns by each of the main candidates, featuring road shows, rallies and public meetings. Perhaps unsurprisingly, Modi focused on development and job creation, rather than religion, in his campaign.

Despite the obvious potential for tension, the only flashpoint in Varanasi came when one of the candidates, Ajay Rai, was rebuked for wearing a party symbol pinned to his suit when he arrived to vote.

Violence was reported in the state of Bengal, where alleged supporters of the ruling Trinamool Congress attacked a group of people casting their vote, and at least four villagers sustained bullet injuries.

The marathon polls began 35 days ago on 7 April, and about 506 million have already cast their vote, across 502 constituencies in eight staggered voting phases.

Turnout so far has been unprecedented, and is expected to surpass the record 66.27% witnessed in the 1984 election, held after the assassination of prime minister Indira Gandhi.

The results will be declared on 16 May.