BJP said this has "exposed" the Congress as the "architect" of the "hate campaign" in the state.
In a surprise move, Congress nominated Shweta Bhatt, wife of Sanjeev Bhatt, who has taken on Modi, accusing him of complicity in the post-Godhra riots in 2002, to contest the Maninagar seat of the chief minister.
Both Modi and Bhatt on Friday filed their papers before returning officer PK Jadeja.
BJP reacted sharply to Congress' decision to pit Shweta, a political greenhorn, against the party's potential prime ministerial candidate, with party spokesman Prakash Javadekar saying, "Congress is exposed thoroughly today. Whatever Bhatt did in last 10 years, the whole architect, script writers and directors were the Congress."
"In the last 10 years, they carried out a hate campaign. They defamed Gujarat to the hilt. And Sanjiv Bhatt became a major pawn in the hands of Congress," he said.
"It was Congress-sponsored hate campaign to defame Gujarat and Gujarati voters (who) will definitely teach a bitter lesson to Congress," Javadekar said in Delhi.
"My fight is for truth, to establish democracy, please support me," Shweta told reporters after filing her papers.
Clearly realising the uphill task ahead of her she said, "It is not a fight between equals, I agree, but I am fully confident that I am going with a true heart to say the truth, so people will support me. I don't have false promises to make."
Modi had won the seat by a massive margin of 75,000 votes in the 2007 elections.
"I have chosen to fight because they had implicated my husband in a very bad way. Me and my family were struggling to overcome it. Then I realised, it was not only my family but many other families who were struggling," Shweta, who accompanied by her husband led a march of her supporters from Mahatma Gandhi Ashram before filing her papers, said.
Shweta rubbished BJP's charge that Bhatt was used as a "pawn" by the Congress and it was because of that she got party nomination.
"I had decided earlier that I will contest independently (against Modi), but now the Congress has given me an opportunity so I am fighting on their ticket," she said.
Modi, who addressed an election meeting at Maninagar before filing his papers, however, chose to remain silent on Congress's decision to field Shweta Bhatt.
However, BJP secretary Kirit Somaiya made light of her candidature, saying, "This shows that no Congress worker is ready to stand against Narendra Modi. Who they (Congress) field is their internal matter, but even if the Prime Minister contests against Modi, it will be difficult for him to save his security deposit."
Sanjiv Bhatt, in an affidavit in the Supreme Court last year, had accused Modi of complicity in the 2002 riots in which over 1000 people, mostly Muslims were killed. He had also deposed against the Chief Minister before the Nanavati Commission, probing the riots.
Bhatt, who was the Principal, State Reserve Police Training School, was later suspended by the state government. He was recently charge-sheeted for murder in a custodial torture case by a court in Jamnagar district.
Earlier in the day, Modi filed his nomination papers before Maninagar constituency returning officer PK Jadeja on the last day of filing of nominations at the district collector's office in Ahmedabad.
While addressing party workers at Maninagar before filing his papers, Modi without taking any names, alleged that Congress had entered in backroom deal with Keshubhai Patel's Gujarat Parivartan Party by not fielding any candidate from Visavadar constituency, where Patel is contesting.
"They do not have the guts to say that they have an understanding with some other party, that they have made some arrangements behind the scene," Modi alleged.
Gujarat Congress candidate for Visavadar, Ratibhai Mangroliya, had claimed that his mandate - the document that certifies the candidate officially represents the party - was allegedly "stolen" by a 12-year-old while he was on his way to file his nomination papers.
"Congress workers were shedding tears that their mandate was stolen by a 12-year-old boy in Visavadar. The 12-year-old boy knew what is good for Gujarat," Modi said ridiculing Congress's claim.
"Why are they not declaring that they have decided to make Ahmed Patel the Chief Minister of Gujarat. Why all these games behind the scenes. They should declare all these things," Modi said, targeting the political secretary of Congress president Sonia Gandhi for backroom deals.
Modi, seeking a fourth consecutive term, attacked Congress, saying the Opposition party was "spreading lies" about Gujarat by issuing wrong advertisements.
"Congress leaders are editing speeches of their senior national leaders so as not to give Modi a chance to attack the party.
"When you speak from your heart, you don't need to write speeches. Congress is busy spreading lies about Gujarat's development through advertisements," the BJP stalwart said, adding Congress was stumped when he addressed election rallies at multiple venues through 3D technology.
Stating that the Assembly elections will be fought on development plank, Modi claimed the BJP Government had taken Gujarat to newer heights and its development politics will triumph in the polls.
"Congress has spent crores of rupees in campaigning which they have earned through scams. But, Congress has failed to understand that Gujaratis can't be bought."
Holding that Congress is a personality-driven organisation which depends on one family to run its affairs, Modi said in contrast BJP is a party of workers and has a strong cadre which works for welfare of the poor.
Claiming that result of the next month's election will be "historic", the three-time Chief Minister said Congress has only survived on vote-bank politics and they should tell the people of Gujarat what they have done for the country.
The Centre is afraid that BJP's thrust on development will translate into votes and that is why, they are not giving sanction for projects in the state on time, Modi said.
The BJP leader said he had tried to steer Gujarat's ship in the direction of `vikas' (development), `vishwas' (trust) and `vijay' (victory).
(With inputs from PTI)