NEW DELHI - The ruling Congress party was routed in state elections, including in its stronghold of Delhi, in what was seen as a test for next year's general election.
Congress lost to its main rival Bharatiya Janata Party (BJP) in the states of Delhi and Rajasthan that it had held and failed to wrest Madhya Pradesh from the BJP.
The BJP was ahead in Chhattisgarh, which it rules and where the Congress had been hoping to ride to victory on a sympathy wave after its top leadership there was gunned down by Maoist rebels while on the campaign trail.
Polls were held last month and this month but counting took place only on Sunday.
Admitting defeat, Congress president Sonia Gandhi said: "In all humility, we congratulate all our opponents for winning the elections."
She promised a course correction. "Naturally this result calls for deep introspection. Of course there were a number of reasons for the defeat. I know many people are unhappy," she said.
The BJP announced it would form a government in all four states. The results of a fifth state, Mizoram, are expected today.
In Delhi, while celebrations broke out in the BJP headquarters, the headline-grabber was political newcomer Aam Aadmi party (AAP), which won 27 of the 70 assembly seats, rare for a new entrant in Indian politics. The anti-corruption party was formed only in November last year.
The BJP, however, edged past the AAP with 31 seats, falling a few seats short of a majority but with enough to form a minority government.
The Delhi results ended the 15-year dominance of the Congress party, with three-term chief minister Sheila Dikshit accepting defeat and putting in her resignation long before the final tallies were announced.
The Congress, which won 43 of the 70 seats in 2008, took only nine seats this time round.
Ms Dikshit even lost her constituency of New Delhi to AAP leader Arvind Kejriwal, an income tax officer turned politician.