Congress' Virendra Singh Raghuvanshi defeated his nearest BJP rival Ganesh Gautam by 7,781 votes in the bypolls held after Yashodhara Raje Scindia vacated the seat following her election to the Lok Sabha from Gwalior, official sources said.
Raghuvanshi polled 47,163 votes as against 39,382 bagged by Gautam, a former Congress MLA who was given a BJP ticket amidst stiff opposition from saffron workers.
Bharatiya Janashakti's Narendra Birthare was pushed to the third position with 10,438 votes and lost his security, they said.
Resentment among BJP workers during electioneering was evident with Yashodhara Raje keeping away from campaigning in Shivpuri -- the traditional stronghold of the royal family of Scindias.
Congress Member of Parliament Jyotiraditya Scindia [ Images ] had capitalised on the situation, actively taking part in Raghuvanshi's poll campaign. He was also helped by nearly half-a-dozen Union ministers and senior Congress leaders who held meetings to swing votes in party's favour.
Chief Minister Shivraj Singh Chouhan, who had denied any rift in the party over nomination of Gautam, held over 40 election meetings in Shivpuri, while a dozen of his ministerial colleagues had campaigned for the party, but could not save the seat.
Birthare's presence proved devastating for BJP as BJS secured most of the Brahmin and Lodhi votes.