From 127 in 2002 to 117 in 2007, from 115 in 2012 to 99 in 2017. In every Gujarat election in the last 2 decades, the BJP saw its seat share gradually fall. But the party has reversed the trend this time, and in a record-setting manner.
The BJP secured more seats than 149, which Congress won in almost 4 decades ago in 1985. There may be 5 major reasons behind this.
The party's campaign was led by Prime Minister Narendra Modi, who addressed more than 30 rallies, and held 3 mega roadshows. More significantly, there was no mass agitation like the Patidar protest in 2017 which had painted the BJP into a corner.
Additionally, the BJP orchestrated a reshuffle till the highest level of the Chief Minister to counter anti-incumbency after almost 3 decades of rule. With religious issues paying dividends in Gujarat, the BJP escalated the agenda by promising a Uniform Civil Code, and survey of Waqf properties and madrasas.
Finally, the ruling party was helped by the absence of Congress' top leaders during the campaign, and also the entry of the Aam Aadmi Party which divided Opposition votes.