Ashok Gehlot of Congress triumphed over Shambhu Singh of BJP in Sardarpura in Rajasthan by 24,725 votes.
The win comes thanks to a widespread disquiet over farm distress and a lack of jobs for growing numbers of young people in the state.
Gehlot received 45,990 votes, while Singh secured 21,265 votes, according to Election Commission data.
Voting in the constituency was held on December 7.
Gehlot is Congress party's national general secretary and has served as the chief minister of Rajasthan from 1998 to 2003 and from 2008 to 2013.
Rajasthan is one of the five states where elections were held between November 20 and December 7.
These polls are seen as a bellwether of the 2019 general elections.
Meanwhile, the BSE Sensex is gaining 183 points, to trade at 35,147 points and the NSE Nifty is gaining 62 points, to trade at 10,552 points.
First Published: IST