Residents lined up in long queues across New Delhi neighborhoods, where a total of 14.6 million voters are registered to cast ballots. Results will be declared on Tuesday.
The polls pit Modi's Bharatiya Janata Party against the incumbent Aam Aadmi Party, or "common man's" party, whose pro-poor policies have focused on fixing state-run schools and providing free health care and bus fares for women during the five years in power.
The BJP campaign has reopened old wounds in the Hindu-Muslim divide and treats the election as a referendum on nearly two months of protests across India against a new citizenship law that excludes Muslims.
The law fast-tracks naturalization for non-Muslim migrants from neighboring Pakistan, Bangladesh and Afghanistan who are living in the country illegally. Modi's BJP also hopes to garner Hindu votes for ending semi-autonomy of Muslim-majority Kashmir last summer and turning the disputed region into two federally governed territories amid security lockdown.
Both of those actions have won him praise from supporters but little reward at the polls. BJP lost two important state elections last year.
Surveys by television news channels have predicted a clear victory for the Aam Admi Party in the 70-member state assembly. The Congress, a distant third party, has run a lackluster campaign and is expected to fare poorly.
During the campaigning, BJP members called for violence against minority Muslims by invoking the specter of archenemy Pakistan. Critics have called the incendiary religious appeals a tactic by BJP to divert attention from the sluggish economy, which expanded at a 4.5% annual pace in the last quarter, its slowest rate since mid-2018.
A win would be hugely symbolic and likely to embolden Modi and his party to pursue a pro-Hindu agenda with vigor, while a loss could dent Modi's charisma.
Modi's BJP was voted out of power in New Delhi in 1998 by the Congress party, which had run the government for 15 years. In the 2015 elections, the Aam Admi Party won a landslide victory by capturing 67 of 70 seats. The BJP could win only three seats despite winning the 2014 national elections.