BJP's new candidate, 38-year-old Sandip Banerjee, is the party's Barrackpore district chief. He replaces 64-year-old Manju Basu, who was elected Noapara legislator in 2001 and 2011 on a Trinamool ticket but lost in 2006 and 2016.
"I am with Mamata Banerjee today. From the year 2000 onwards for the last 18 years, I am with Mamata Banerjee. I have complete faith in her," Manju Basu said soon after BJP named her candidate for the Noapara bypoll on Sunday.
BJP leader Mukul Roy, who was earlier with the Trinamool and had reportedly recommended Ms Basu's name. "Mrs Basu is under huge pressure. She and her family are being threatened by Trinamool people. There is no democracy in Bengal," Mr Roy said.
The former school teacher was named BJP candidate by the party's central election panel member JP Nadda.
Mukul Roy had met with Ms Basu on Friday and arranged for her to meet BJP's Bengal minder Kailash Vijayvargiya recently.
He said Mr Roy was trying to sideline West Bengal BJP chief Dilip Ghosh. "Mukul Roy is doing politics on lies. He is also in a tug-of-war with Dilip Ghosh over candidates. Ms Basu should file a defamation suit against him," the Trinamool leader said.
Ms Basu has not denied she met with Mukul Roy or BJP leader Kailash Vijayvargiya. "Any political offer may come to anyone but I don't know anything about it. I am shocked. I never accepted any such offer. But accepting or rejecting is my personal choice," she said, adding, "Mukul Roy was earlier my Trinamool leader."
Manju Basu won Noapara in 2001, lost in 2006, won again in 2011 but lost in 2016. Mamata Banerjee had fielded her after her husband, a Trinamool leader in North 24 Parganas district, was killed in April 2000.
He was a Trinamool councillor at Noapara and the district's youth leader. While some suspect he was killed in a case of mistaken identity, others suspect he was a victim of a turf war in the Trinamool.
Get the latest election news, live updates and election schedule for Lok Sabha Elections 2019 on ndtv.com/elections. Like us on Facebook or follow us on Twitter and Instagram for updates from each of the 543 parliamentary seats for the 2019 Indian general elections.