Supporters of Bharatiya Janata Party gesture during a campaign rally by Prime Minister Narendra Modi ahead of the West Bengal state Legislative Assembly elections, in Kolkata, India, Sunday, April 26, 2026. – Photo Credit: AP
With decisive support in reserved constituencies, massive gains in rural areas and a fractured support for the Trinamool in seats with a strong Muslim presence, the BJP flips the script in West Bengal.
The Bharatiya Janata Party (BJP) seems to have finally breached West Bengal after years of threatening to defeat the formidable Trinamool Congress (TMC) in the most populous State in eastern India. Based on trends as of 1:30 PM, the ruling party at the Centre has managed to lead in 188 of the 294 Assembly seats, nearly two-thirds of the Assembly, relegating Mamata Banerjee’s TMC to a distant second with leads in 94 seats.
The BJP has done this by improving its vote share by nearly seven percentage points compared to 2021, garnering 44.8%, close to three points more than the TMC’s 41.9% (in coalition with the BGPM from the Darjeeling area). The Left Front-led alliance has registered a presence with 3 seats and a 6.4% vote share, its first non-zero seat tally in the State since 2016, if the leads hold. The Congress has drawn a blank so far.
Region-wise: the South West collapse
In terms of regional spread, the BJP has gained vote shares all across the State, but has registered substantial increases, more than eight percentage points each, in the Northern region (encompassing Cooch Behar, Jalpaiguri, Darjeeling, North and South Dinajpur districts among others), in Greater Kolkata, and in the South West (the agrarian belt of Bardhaman, Midnapore, Birbhum and parts of Purulia). The South West has been the site of the most dramatic seat swing: the BJP leads in a whopping 93 seats here against just 22 for the TMC, a near-mirror reversal of the 2021 verdict.
In the North, the BJP leads in 42 seats to the TMC’s 12, with the saffron party’s 49.5% vote share putting it more than 10 points ahead of the TMC. The South East, the agrarian areas of North and South 24 Parganas plus portions of Murshidabad and Nadia, is where the TMC has put up its best regional resistance, leading in 42 seats against the BJP’s 31 despite shedding 8.7 percentage points of vote share. The reason these losses in vote share did not translate into a seat collapse is visible in the table: of the votes the TMC lost here, the Left Front-led alliance picked up 2.6 points and the Congress 1.9 points, while the BJP gained just 1.96 points. The BJP’s most telling capture, however, is in Greater Kolkata, where it now leads in 22 seats against the TMC’s 18 even as the TMC retains a 49.1% vote share to the BJP’s 40.8%.
BJP’s big lead triggers statewide celebrations in West Bengal with imminent power shift
A classification by urbanity (based on satellite-derived night-light intensity data) shows the BJP leading across all four urbanity bands but its dominance is most pronounced in the Moderately Rural and Highly Rural categories, where it leads in 76 and 71 seats respectively (a combined 147). The TMC has very nearly held its 2021 vote share in Highly Urban seats, dropping just 2.9 percentage points and still polling 50.6% there.
Yet in those same Highly Urban seats, the TMC leads in only 15 constituencies against the BJP’s 17, despite an 11-point vote-share lead over the BJP within the category. The arithmetic only works one way: the TMC’s urban vote is concentrated in pockets where it wins by very large margins, while the BJP has built thinner but more efficiently distributed leads across a larger number of seats. Whether this reflects sharper religious and class polarisation across constituencies will need granular data to establish.
Muslim-electorate seats
In the 166 constituencies where Muslims constitute over 25% of the electorate (based on the 2011 census-derived district estimates), the BJP leads in 79 seats against the TMC’s 76. It outpolled the TMC’s 42.7% with a 39.4% vote share that is up 4.5 percentage points from 2021, even as the TMC’s share fell 7.3 points. The Left Front-led alliance has won 3 seats here, primarily on the back of the Indian Secular Front (ISF) — the Furfura Sharif-linked outfit led by Abbas Siddiqui — whose vote share rose 1.15 points to 13.21% in the seats it contested.
Some of the Muslim vote that consolidated towards the TMC in the previous election appears to have moved to the ISF-led platform, some to the Congress (whose marginal vote-share gains came disproportionately from these seats), while a counter-consolidation of Hindu votes appears to have helped the BJP.
Some of the Muslim vote that consolidated towards the TMC in the previous election appears to have moved to the ISF-led platform, some to the Congress (whose marginal vote-share gains came disproportionately from these seats), while a counter-consolidation of Hindu votes appears to have helped the BJP.
SC/ST reserved seats
The most pronounced gap between the BJP and the TMC is in SC- and ST-reserved seats, where the BJP leads in 65 of the 84 reserved constituencies with a 50.2% vote share — more than 9 percentage points ahead of the TMC’s 40.7% and its 18 seats. The BJP has gained 7.2 points of vote share in reserved seats compared to 2021, against a 5.4-point drop for the TMC. The party’s sustained outreach to the Matua and Rajbanshi communities, through the Citizenship (Amendment) Act, organisational work in the North Bengal districts, and the cultivation of community leaders in the Matua belt of Nadia and North 24 Parganas, appears to have delivered electorally.
The SIR could possibly have had an effect in this election, but that requires detailed seat-wise analysis to establish, which will be followed up in a subsequent article in The Hindu.
In sum, the BJP’s breach of West Bengal has been based on a near-clean sweep of the agrarian South West, the flipping of Greater Kolkata in seat terms despite the TMC’s vote-share lead, the fracture of the minority consolidation favouring the TMC, and a decisive consolidation of the Dalit vote behind the BJP in reserved constituencies.
![]()








