Tripathi secured 82,703 votes while Patel polled 55,159 votes, an election official said.
The outcome came as a double jolt for Congress as Tripathi, after winning the seat in 2013 assembly polls, had quit the party to join BJP during the 2014 Lok Sabha polls. Later, he resigned from the seat which necessitated the by-poll.
The victory came as a morale-booster for the BJP after it conceded to the Congress the Jhabua Lok Sabha seat in a by-poll shortly after the drubbing in the Bihar Assembly elections, which analysts then took as a sign of declining fortunes of the long-ruling saffron party in the state.
The victory comes just ahead of Prime Minister Narendra Modi's visit to Sherpur in neighbouring Sehore district on February 18, where farmers will felicitate him for launching new crop insurance scheme.
More From This Section
Buoyed by the by-poll victory, Chouhan said at Sherpur, "I am thankful to the people of Maihar for this victory and will visit the town on February 22 to personally convey my thanks to them."
Chouhan was here to review preperations for Modi's visit on February 18.
Traditionally, Maihar in Satna Lok Sabha constituency, is seen as a Congress stronghold.
The BJP, keen on wresting the seat from the Congress, fielded Tripathi himself for the by-election.
While the Congress had won the seat eight times since
1957, Janata Party, an Indpendent, Janata Dal, Samajwadi Party and BJP tasted victory once each.
Tripathi bagged the seat for the Congress in 2013 by a margin of 6975 votes by defeating BJP's Ramesh Prasad.
BJP's Motilal Tiwari won it 2008.
Others in the fray this time included BSP's Ram Lakhan Singh Patel, a fomre MLA and SP's Ram Niwas Urmalia.