The BJP has crossed the 92 seats it needs for a majority in the 182-member Gujarat assembly, but is struggling to make the psychological 100 mark. The Congress is leading in around 80 seats.
Congratulating the people of Gujarat for their "very balanced verdict at this hour", Ms Banerjee said it was a "face-saving win" for the ruling party.
A tweet from the Bengal leader read:
I congratulate Gujarat voters for their very balanced verdict at this hour.
— Mamata Banerjee (@MamataOfficial) December 18, 2017
It is a temporary and face-saving win, but it shows a moral defeat for BJP.
Gujarat voted against atrocities, anxiety and injustice caused to the common people. Gujarat belled the cat for 2019
The Trinamool Congress chief -- who always had cordial relations with Sonia Gandhi - had recently congratulated Rahul Gandhi for his aggressive campaign in Gujarat, where the BJP had been in power for 22 years. Irrespective of the results of the elections, she said Rahul Gandhi had won by "putting the BJP on the backfoot".
Ms Banerjee had ousted the Left Front after its 35-year rule in Bengal in 2012. Her conflict with the BJP-led government at the Centre has been a long one. Lately it had encompassed the notes ban and the Central government's Goods and Services tax.
In November she had met Shiv Sena leader Uddhav Thackeray in Mumbai. A senior leader of her party, Dereck O'Brien had indicated the two leaders had discussed politics.