India's Narendra Modi-led BJP has suffered a setback in its first electoral test since its landslide win in May, as votes are counted in recently held by-elections.
The party lost eight of the 11 seats in the key state of Uttar Pradesh and three of the four seats in Rajasthan.
Polling was held last week for three parliamentary and 33 state assembly seats in nine states.
Twenty-four of the 33 assembly seats were so far held by the BJP.
The BJP has won the Vadodara parliamentary seat vacated by Mr Modi after he won two seats in May's general elections.
A candidate is allowed to contest a maximum of two seats in India's parliamentary elections.
Correspondents say Tuesday's results are a cause for worry for the BJP with the party losing ground to its opponents in Uttar Pradesh and Rajasthan.
In Uttar Pradesh, the state's governing Samajwadi Party has won eight of the 11 seats and the Congress party has won three of the four seats in Rajasthan.
In the general elections, BJP had swept the politically crucial state of Uttar Pradesh by winning 71 of the 80 seats and won all the 25 seats in Rajasthan.
Analysts say the outcome of the by-elections will be seen as a test of Mr Modi's popularity which recently completed 100 days in power.
The BJP is also gearing up for crucial state elections in Haryana and Maharashtra next month, where it hopes to defeat the ruling Congress.