Resuming their first innings at 191/5, Rajasthan rode on a 57-run unbeaten innings by lower-order batsman Chahar to reach 305 all out in 115.3 overs.
Chahar (3/30) then combined with fellow pacer Pankaj Singh (4/47) to share seven wickets between them and take Rajasthan within touching distance of grabbing the crucial first innings lead.
Tail-enders Deepak Behera (17) and Dhiraj Singh (0) were at the crease at the draw of stumps with Odisha still needing an improbable 161 runs with just one wicket remaining.
Bist was dismissed only in the second over in the morning by Suryakant Pradhan, while Tanveer was sent packing by Basant Mohanty at the Gandhi Stadium.
More From This Section
Other overnight batsman, Vineet Saxena completed his century before becoming the last victim of Mohanty, who emerged as the highest wicket-taker with a four-wicket haul.
Anurag Sarangi (47) was the highest scorer for Odisha but the hosts could not stitch partnerships in the face of some good bowling by pace duo of Singh and Chahar.
Tanveer-Ul-Haq (1/24) and Aniket Choudhary (1/20) snapped one wicket each for Rajasthan.
Brief Score:
Rajasthan 1st innings: 305 all out in 115.3 overs (V S Saxena 106, DL Chahar 57 not out; B Mohanty 4/68).
Odisha 1st innings: 144/9 in 55 overs (A R Sarangi 47; Pankaj 4/47, DL Chahar 3/30).