The Aam Aadmi Party chief built a case for his candidacy by challenging Mr Modi's claims of development in Gujarat, the state he governs, and then said, "I will contest these elections against Modi from Varanasi," setting up what will be one of the most keenly watched contests. The crowd at Binya Bagh roared its approval. (Highlights of Arvind Kejriwal's speech)
Mr Kejriwal, 45, also invited the BJP leader to an open debate alleging, "He doesn't speak to anyone, comes by helicopters, holds a rally and leaves by helicopter. He has to come here and talk to the people of this country."
He asked people to take a month off from work and campaign for him in Varanasi and also in Amethi, the Lok Sabha constituency of Congress vice president Rahul Gandhi.
Earlier in the day, Mr Kejriwal told NDTV, "Banaras and Amethi are the only two contests that matter in this election. Our priority must be to have Narendra Modi and Rahul Gandhi defeated."
His trip was marred briefly when protesters splattered him with ink as he toured the city in an open truck with close aides. An egg was also hurled at him.
The BJP's decision to have Mr Modi run for the Lok Sabha from Varanasi is designed to enthuse voters in India's largest state to support the party. Mr Modi will also contest from a second seat - Vadodara in Gujarat. Like Mr Modi, Mr Kejriwal has never run for Parliament. In his first election four months ago, he had earned the sobriquet of giant-killer by defeating Delhi's chief minister Sheila Dikshit.
Earlier this month, he conducted a controversial tour of Gujarat saying he wanted to audit Mr Modi's competence in his four terms as chief minister. Unsurprisingly, Mr Kejriwal said the BJP's claims of development in Gujarat did not check out.
Get Breaking news, live coverage, and Latest News from India and around the world on NDTV.com. Catch all the Live TV action on NDTV 24x7 and NDTV India. Like us on Facebook or follow us on Twitter and Instagram for latest news and live news updates.