Small Indian parties are banding together against Prime Minister Narendra Modi for next year's general election, energised by an unlikely win in an election for a handful of parliamentary seats in the Hindi heartland on Wednesday.
Opposition strategists say the only way Modi's Bharatiya Janata Party (BJP) juggernaut can be stopped is to join forces and turn 2019 into a "Modi versus the rest" election.
That strategy seemed to have paid off when two bickering caste-based factions worked together in the country's most politically important state, Uttar Pradesh in the north, to defeat Modi's party in two seats this week.
Mamata Banerjee, the chief of an opposition party in eastern India, called the Uttar Pradesh results, and victory for a regional party in another seat in neighbouring Bihar state, the "beginning of the end" for Modi's party.
The Nehru-Gandhi dynasty's Congress party, which ruled India for most of the seven decades after independence before being thumped by Modi in the last general election 2014, also seized on the latest setbacks for the BJP.
"The results from the by-polls make it clear that voters are very angry at the BJP and that they will vote for that non-BJP candidate who has the best chance of winning," said Congress chief Rahul Gandhi.
Congress has started stitching together alliances and hosted a dinner for opposition parties this week.
Congress spokesman Randeep Singh Surjewala said it was ready to lead any alliance of regional groups and could discuss such plans in a party conference this weekend.
BJP leaders said they were caught off-guard by the alliance of the two regional parties, known as the BSP and SP in Uttar Pradesh.
There is nobody close to Modi in personal approval ratings.
Nearly nine out of 10 Indians hold a favourable opinion of him, according to a research report published in November, and opposition victories in a handful of seats cannot be seen as an indication the mood is swinging away from Modi and the BJP nationally, analysts warn. nL3N1NM1UX]
When Modi won office in 2014 with the most resounding victory in three decades, his party or its partners ruled only seven of India's 29 states.
Today, it is in power in 21 of them and has replaced Congress as the party with strongest nationwide presence.
But in by-elections in 10 parliamentary seats since last year, the BJP has lost all of them. That may be an indication an anti-incumbency factor will play a part in 2019.
Ghanshyam Tiwari, spokesman for the Samajwadi Party (SP)whose two candidates won this week's Uttar Pradesh by-elections, said the BJP had been winning new states by "selling dreams" to voters through glitzy advertisements.
Although Modi has been able to maintain his popularity, the BJP's ties with allies have been strained in recent months, and any more setbacks would likely raise new doubts.
"Modi's appeal is formidable but his enemies and allies would now think he's beatable," veteran journalist and political commentator Shekhar Gupta said on Twitter.